1、以下代码运行的结果是输出( )
var a = b = 10;
(function(){
    var a = b = 20
})();
console.log(b);

A.10     B.20     C.报错     D.undefined

答案:B
解析:连等赋值的时候,执行顺序是从右往左;开始时:var a = b = 10,就等于 b=10  a=b,所以初始时a和b都等于10,是两个全局变量;在函数里面执行时var a = b = 20,就等于 b=20,a=b,因为a前面有var,所以是在函数内部的局部变量a,b改变的是外部的值;所以最后输出的a = 10 ,b = 20。
2、以下代码运行后的结果是输出(   )
var a=new Object();
a.name=”admin”
console.log(a.name);

A.admin  B.a    C.“admin”     D.[a]

答案:a
解析:var a =new Object()就是创建一个Object对象并且赋值给a变量,和var a={}创建对象在使用方法上是一样的。a.name为这个创建的对象赋值,所以输出的值为admin。
3、下面代码的运行结果是:第一次弹1,那第二次弹(    )
    function fn1() {
        alert(1);
    }
    alert( fn1() );
A.1     
B.alert(1);     
C.function fn1() { alert(1); }      
D.undefined

答案:D
解析:运行fn1(),弹出1,fn1()没有返回值,所以fn1()为undefined;alert(fn1())alert里面的内容是fn1()的返回值, 所以是undefined;
4,下面的描述中正确的是( )
A."==" 在比较过程中,不但会比较两边的值,还会比较两边的数据类型。        
B.typeof null 的输出的结果是 ’null‘。
C.typeof function() {}  的输出的结果是 ’function‘。
D.字符串的 length 可以获取,也可以设置。
 
答案:C
解析:A选项:==:宽松相等,===:严格相等。他们都是用来判断两个值是否相等,区别是在判断条件上,简单的说就是,==允许在相等的比较中进行强制类型转换,===不允许。B选项:
typeof null输出的结果是'object'类型。D选项:字符串有一个length属性 是一个
只读
属性,只能获取不能设置。
5. 在JavaScript中,下列关于window对象方法的说法错误的是( )
A.window对象包括location对象、history对象和docuement对象
B.window.onload( )方法中的代码会在页面加载完成后执行
C.window.open( )方法用于在当前浏览器窗口加载指定的URL
D.window.close( )方法用于关闭浏览器窗口 
 
答案:C
解析:open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口。window.open(URL,name,specs,replace)
URL可选。打开指定的页面的URL。如果没有指定URL,打开一个新的空白窗口name可选。指定target属性或窗口的名称。specs可选。一个逗号分隔的项目列表。replaceOptional.Specifies规定了装载到窗口的 URL 是在窗口的浏览历史中创建一个新条目,还是替换浏览历史中的当前条目。
6.  JavaScript 中 8 种基本的数据类型 ___。 
答案:Number String  Boolean Undefined Null Object BigInt Symbol
记法:"u son sb"—— u-undefined  son-string symbol object null number sb-boolean bigInt
7.  typeof 'coder' 输出的结果为 ___。
答案:string
8.  请写出将该数(5499.9674)保留2位小数的代码 ___。
答案:5499.9674.toFixed(2)
解析:toFixed是Javascript中常用来将number 四舍五入为指定小数位数的方法。
9.  请列出数组常用的方法,至少4个(8)。
答案:push  pop  sort  join  map  filter  findIndex  reduce  reverse
解析:
 array.push()向第一个参数的数组尾部添加一个或多个元素,然后返回新数组的长度。array.pop()删除array的最后一个元素,把数组长度减1,并且返回它删除的元素的值。如果数组已经为空,则pop()不改变数组,返回undefined。
array.sort()方法在适当的位置对数组进行排序,并且返回数组。(默认从小到大)。
array.join()方法用于把数组中的所有元素放入一个字符串,元素是通过指定的分隔符进行分隔的。
array.map()返回用户自定义函数作用后的数组。map() 不会对空数组进行检测并且map() 不会改变原始数组。
array.filter()可用于筛选数组中的某些元素。其主要原理是filter会把传入的函数依次作用于每个元素,然后根据返回值是 true 还是false决定保留还是丢弃该元素,其返回值为一个数组。
array.findIndex()为数组中的每个元素都调用一次函数执行:
• 当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
• 如果没有符合条件的元素返回 -1
• findIndex() 对于空数组,函数是不会执行的。
•  findIndex() 并没有改变数组的原始值。
array.reduce()函数用回调函数迭代地将数组简化为单一的值。如果指定第三个参数,则该参数将被当成是数组中的第一个值来处理,或者如果数组为空的话就作为最终返回值。
array.reverse()方法反转数组中元素的顺序,reverse() 方法将改变原始数组。