第 1 题:
function setName() {
name = "张三";
}
setName();
console.log(name);
第 2 题:
//考点:1、变量声明提升 2、变量搜索机制
var a = 1;
function test() {
console.log(a);
var a = 1;
}
test();
第 3 题:
var b = 2;
function test2() {
window.b = 3;
console.log(b);
}
test2();
第 4 题:
c = 5; //声明一个全局变量c
function test3() {
window.c = 3;
console.log(c);
var c;
console.log(window.c);
}
test3();
第 5 题:
var arr = [];
arr[0] = "a";
arr[1] = "b";
arr[10] = "c";
alert(arr.length);
console.log(arr[5]);
第 6 题:
var a = 1;
console.log(a++);
console.log(++a);
第 7 题:
console.log(null == undefined);
console.log("1" == 1);
console.log("1" === 1);
第 8 题:
typeof 1;
("number");
typeof "hello";
("string");
typeof /[0-9]/;
("object");
typeof {};
("object");
typeof null;
("object");
typeof undefined;
("undefined");
typeof [1, 2, 3];
("object");
typeof function() {};
第 9 题:
parseInt(3.14);
parseFloat("3asdf");
parseInt("1.23abc456");
parseInt(true);
第 10 题:
//考点:函数声明提前
function bar() {
return foo;
foo = 10;
function foo() {}
//var foo = 11;
}
alert(typeof bar());
第 11 题:考点:函数声明提前
var foo = 1;
function bar() {
foo = 10;
return;
function foo() {}
}
bar();
alert(foo);
第 12 题:
console.log(a);
var a = 3;
function a() {}
console.log(a);
第 13 题:
//考点:对arguments的操作
function foo(a) {
arguments[0] = 2;
alert(a);
}
foo(1);
265、第14题:
function foo(a) {
alert(arguments.length);
}
foo(1, 2, 3);
第 15 题
bar(); //报错
var foo = function bar(name) {
console.log("hello" + name);
console.log(bar);
};
//alert(typeof bar);
foo("world");
console.log(bar);
console.log(foo.toString());
bar();
第 16 题
function test() {
console.log("test函数");
}
setTimeout(function() {
console.log("定时器回调函数");
}, 0);
test();
function foo() {
var name = "hello";
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
答案:
第 1 题:
function setName() {
name = "张三";
}
setName();
console.log(name);
答案:"张三"
第 2 题:
//考点:1、变量声明提升 2、变量搜索机制
var a = 1;
function test() {
console.log(a);
var a = 1;
}
test();
答案:undefined
第 3 题:
var b = 2;
function test2() {
window.b = 3;
console.log(b);
}
test2();
答案:3
第 4 题:
c = 5; //声明一个全局变量c
function test3() {
window.c = 3;
console.log(c); //答案:undefined,原因:由于此时的c是一个局部变量c,并且没有被赋值
var c;
console.log(window.c); //答案:3,原因:这里的c就是一个全局变量c
}
test3();
第 5 题:
var arr = [];
arr[0] = "a";
arr[1] = "b";
arr[10] = "c";
alert(arr.length); //答案:11
console.log(arr[5]); //答案:undefined
第 6 题:
var a = 1;
console.log(a++); //答案:1
console.log(++a); //答案:3
第 7 题:
console.log(null == undefined); //答案:true
console.log("1" == 1); //答案:true,因为会将数字1先转换为字符串1
console.log("1" === 1); //答案:false,因为数据类型不一致
第 8 题:
typeof 1;
("number");
typeof "hello";
("string");
typeof /[0-9]/;
("object");
typeof {};
("object");
typeof null;
("object");
typeof undefined;
("undefined");
typeof [1, 2, 3];
("object");
typeof function() {}; //"function"
第 9 题:
parseInt(3.14); //3
parseFloat("3asdf"); //3
parseInt("1.23abc456");
parseInt(true); //"true" NaN
第 10 题:
//考点:函数声明提前
function bar() {
return foo;
foo = 10;
function foo() {}
//var foo = 11;
}
alert(typeof bar()); //"function"
第 11 题:考点:函数声明提前
var foo = 1;
function bar() {
foo = 10;
return;
function foo() {}
}
bar();
alert(foo); //答案:1
第 12 题:
console.log(a); //是一个函数
var a = 3;
function a() {}
console.log(a); ////3
第 13 题:
//考点:对arguments的操作
function foo(a) {
arguments[0] = 2;
alert(a);//答案:2,因为:a、arguments是对实参的访问,b、通过arguments[i]可以修改指定实参的值
}
foo(1);
265、第14题:
function foo(a) {
alert(arguments.length);//答案:3,因为arguments是对实参的访问
}
foo(1, 2, 3);
第 15 题
bar(); //报错
var foo = function bar(name) {
console.log("hello" + name);
console.log(bar);
};
//alert(typeof bar);
foo("world"); //"hello"
console.log(bar); //undefined
console.log(foo.toString());
bar(); //报错
第 16 题
function test() {
console.log("test函数");
}
setTimeout(function() {
console.log("定时器回调函数");
}, 0);
test();
function foo() {
var name = "hello";
}