js语言基础

1.下面这段代码的输出是(B)

var b = 3;
(function(){
  b = 5;
  var b = 2;
})();
console.log(b);

A.5
B.3
C.2
D.程序报错

解析:若在局部作用域能查找到变量,则不会往外层作用域进行查找,则function()内部的变量b其实是局部变量,局部变量在函数执行完毕后销毁,则后续console.log出来的其实是全局变量,而全局变量没有被改变。若将var b = 2;去掉,则打印出的b的值为5,由于往外找到的是全局变量,并对其进行了修改。

【练习】理解以下两题:
①以下输出结果:8.(往外找到全局变量并进行了修改)

var b=3
function fn(){
    b=10;
    (function(){
       b=8
    })()
}
fn();
console.log(b)

②以下输出结果:3(往外找找到外部函数的局部变量,在外部函数执行完后变量销毁,根本性没有修改到全局变量的值)

var b=3
function fn(){
    var b=10;
    (function(){
       b=8
    })()
}
fn();
console.log(b)

2.以下表达式不会出现错误的有(B、C、D)

A、2.toString()
B、2…toString()
C、2 .toString()
D、(2).toString()

3.以下哪一条Javascript代码会产生运行错误?(A)

A. var obj=( );
B.var obj=[ ];
C.var obj={ };
D.var obj=/ /;

解析:
  A,语法错误
  B,声明obj为数组对象
  C,声明obj为对象
  D,声明obj为正则对象

4.Alert(1&&2)的值是?(B)

A. 1
B.2
C.FALSE
D.TRUE

解析:逻辑与操作符可用于任何类型的操作数,不限于布尔值。若有操作数不是布尔值,则逻辑与不一定会返回布尔值。
  ①若第一个值为true,则必然返回第二个值。
  ②若第二个值为false,则直接返回第一个值。

5.下面的语言中哪些语言是动态语言( B、F )

A.C
B.JavaScript
C.C++
D.CSS
E.Java
F.Objective-C

6.执行完如下程序后,所有能被访问到的变量包括(C)

var a = 1;
b = 2;
eval('var c = 3');
delete a;
delete b;
delete c;

A.a、b、c
B.a、c
C.a
D.c

解析:
  在eval中使用var声明的全局变量可以被delete删除,所以变量c能删除成功,除此之外,在其他情况下,使用var声明的全局变量或者局部变量一般是不能被delete删除的,所以变量a无法被删除,仍然可以访问到,而未使用var声明的全局变量可以使用delete进行删除,所以无法访问到b。综上,只有变量a未被成功删除,可以访问得到,故正确答案为C选项。

7.下列表达式中,返回值为true的是(A)

①Object.is(NaN,NaN)
②Object.is(+0,-0)
③NaN === NaN
④+0 === -0

A.①④
B.①③
C.②③
D.②④

解析:
Object.is()与三等号都是判断两个数是否严格相等。它们的区别主要在NaN自身和+0与-0的判断。对于NaN自身的判断,Object.is(NaN,NaN)的返回结果为true,而NaN三等号NaN的返回结果为false;对于+0、-0的判断,Object.is(+0,-0)的返回结果为false,而+0===-0的返回结果为true,故A选项正确。

8.下列关于 JavaScript 的说法中正确的是(C)

A.所有变量在使用之前必须做声明
B.JavaScript是面向对象的程序设计语言
C.JavaScript是解释性语言
D.JavaScript前身是Oak语言

解析:A.在严格模式下,变量必须预先声明,然后才能使用。在非严格模式下,JavaScript允许不声明变量就直接为其赋值,这是因为JavaScript解析器能够自动隐式声明变量,隐式声明的变量总是作为全局变量使用。区别:没有声明进行访问会报错,没有声明进行赋值不会报错。

9.下列不属于JavaScript内置对象的是(D)。

A.Math
B.Date
C.RegExp
D.Window
E.Error

解析:
js内置对象:任何由ECMAScript实现提供、与宿主环境无关,并在ECMAScript程序开始执行时就存在的对象
①Arguments:函数参数集合
②Array:数组
③Boolean:布尔对象
④Date:日期时间
⑤Error:异常对象
⑥Function:函数构造器
⑦Math:数字对象
⑧Number:数值对象
⑨Object:基础对象
⑩RegExp:正则表达式对象
11.String:字符串对象
12.Global对象:兜底对象(注意:global对象区别于window对象)

你可能感兴趣的:(javaScript,javascript,前端,开发语言)