JS基础阶段测试题目总结与反思

500 阅读2分钟

导语:今天下午测试了一下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();
var fn1 =function(){ alert(1); }

这道题 报错 还是 函数提升问题 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

`   function fn1()`

 { var a = 0; 

 function fn2() 

{ a++; alert(a); } return fn2; }

 fn1()(); 

 var newFn = fn1() ; 

newFn(); 

 newFn();

a++ 先用后加 

++a 先加后用

打印结果为 1 1 2;