您的位置:首页 > 编程语言

代码输出问题

2017-11-08 21:27 197 查看
1.
function foo(x,y,z){

console.log(foo.length);

console.log(arguments.length);

}


foo(1,2);  //输出3,2


函数的length属性得到形参的个数,arguments的length属性得到实参个数;

2、
var x=10;

function fn(y){

console.log(x+y);

}

function show(f){

var x=20;

var b=9;

f(b);

}

show(fn);  //输出19


作用域链的问题,执行show(fn)时即就是执行fn(b),即fn(9),返回x+9,fn中没有x这个变量,就去fn定义的上一层去寻找,全局中有定义x为10.则返回19;

3.
var x=new Boolean("false");

var y=Boolean(0);

if(x){

alert("hi");

}

if(y){

alert("hello");

}


//输出“”hi“”

x为Boolen对象,在if语句里的判断为true,虽然x的值为false,但是作为对象,if会直接判断为true。y为Boolen值,在if里的判断就是false值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: