导语:今天下午测试了一下js基础,感觉并不是特别好,由此可看出自己的js基础并没有学得牢固,还有很多方法和知识点都没有真正掌握,所以自己准备查漏补缺!好好和总结和反思这一次测试,看看到底自己主要的问题在哪里,然后慢慢去吃透每个知识点!
var a = b = 10;
(function(){
var a=b=20
})();
console.log(b);
A.10 B.20 C.报错 D.undefined
知识点:var可以一次声明多个变量,如果没有逗号分开的时候,后面的变量都是全局变量
var a = b =20
实则就是 var =20; b=20 b为全局变量 后面b重新赋值 所以打印为20 在自调用函数里面 已经被重新赋值了 如果没有这个函数调用 就会打印10
var a=[1, 2, 3];
console.log(a.join());
A.123 B.1,2,3 C.1 2 3 D.[1,2,3]
这个题目考点是join 数组连接字符串 里面没有连接符 默认为, 所以打印为 1,2,3
6、以下代码运行后弹出的结果是( )
var a = 888;
++a;
alert(a++);
A.888 B.889 C.890 D.891
这个题目考点是 ++a 和a++ 的使用
哪个在前面 先使用谁
++a 先+再用 第一个 ++a 为889
a++ 先用再加 第二个 a++ 先使用a 889 所以打印889
变量命名规则
A.首字符必须是大写或小写的字母,下划线(_)或美元符($)
B.除首字母的字符可以是字母,数字,下划线或美元符
C.变量名称不能是保留字
D.长度是任意的
E.区分大小写
题目
1、[1,2,3,4].join('0').split('') 的执行结果是( )
A.'1,2,3,4'
B.[1,2,3,4]
C.[“1”,“0”,“2”,“0”,“3”,“0”,“4”]
D.'1,0,2,0,3,0,4'
本题选c 过程很简单 就是join 和split的运用 掌握好方法 再加上认真和仔细即可
这道题 报错 还是 函数提升问题 fn1只是一个变量 并非是函数 所以打印为
fn1 is not a function 字面量就是如此
字符串的 length 只可以获取,不可以设置。 不可变的长度
而数组可以改变
var a = 10;
function test() {
a = 100;
alert(a);
alert(this.a);
var a;
alert(a);
}
test();
A.10 B.100 c.undefined D.程序报错
变量声明 提升在前面 var a 提升到a=100之前 而a已经被赋值 所以打印 a为100
so easy
{ var a = 0;
function fn2()
{ a++; alert(a); } return fn2; }
fn1()();
var newFn = fn1() ;
newFn();
newFn();
a++ 先用后加
++a 先加后用
打印结果为 1 1 2;