JavaScript做题练习知识点总结
1、运算中,+号,数字隐式转换成字符串。其余的运算符号是字符串隐式转换成数字。
2、document.getElementById根据元素ID值返回元素节点对象,通过该对象可以获取结点的属性和内容。
3、JavaScript前身是liveScript语言,Java前身是oaK语言。
4、w3c 制定的 javascript 标准事件模型是先事件捕获从windows > document 往下级直到 特定的事件节点,然后进行事件处理,再事件冒泡,从特定节点往上级,这个完整的过程。
5、||短路或,如果前边的运算结果为true则不看后边的运算结果,直接用前边的结果,如果前边的为false,则需要显示后边的结果。
6、RegExp 对象的主要方法是 exec(),该方法是专门为捕获组而设计的。exec()接受一个参数,即要应用模式的字符串,然后返回包含第一个匹配项信息的数组;或者在没有匹配项的情况下返回 null。
7、正则表达式里:?出现0次或1次. [0,1],* 出现0次或多次. [0,+∞],+ 出现1次或多次 [1,+∞]。
8、几个常见的事件的方法
preventDefault() 取消事件默认行为,如阻止点击提交按钮时对表单的提交(本题中click并没有什么默认行为)
stopImmediatePropagation() 取消事件冒泡同时阻止当前节点上的事件处理程序被调用,影响当前的事件***
stopPropagation() 取消事件冒泡,不影响事件***
cancelBubbe() 取消事件冒泡
returnValue() 取消事件默认行为
9、在JS中,绑定的事件默认的执行时间是在冒泡阶段执行,而非在捕获阶段(重要),这也是为什么当父类和子类都绑定了某个事件,会先调用子类绑定的事件,后调用父类的事件。
-----------------------------------------分割线20210302--------------------------------------
10、获取页面所有元素使用document.all方法
-----------------------------------------分割线20210413--------------------------------------
11、typeof NaN显示的是number,也就是NaN的类型是number
12、对于Boolean类型的转换,存在以下几种情况:
1.对于String:只有非空字符串为真。
2.对于Number:除了0和NaN之外都为真。
3.对于Boolean:true为真。
4.对于Object:除了null之外都为真
2、当作为一个构造函数(带有运算符 new)调用时,Boolean() 将把它的参数转换成一个布尔值,并且返回一个包含该值的 Boolean 对象。
作为一个函数(不带有运算符 new)调用时,Boolean() 只将把它的参数转换成一个原始的布尔值,并且返回这个值。
3、如果省略 value 参数,或者设置为 0、-0、null、""、false、undefined 或 NaN,则该对象设置为 false。否则设置为 true(即使 value 参数是字符串 "false")
13、
for(let i = 0; i < 5; i++){ setTimeout(function(){ console.log(i); }, 1000 * i); }
最后的输出结果是:5 5 5 5 5
原因解析:在所有同步任务执行完之前,任何的异步任务是不会执行的。 而setTimeout就是一个异步任务,所以会先执行for循环这个同步任务,把setTimeout()放进任务队列中等待主程的for循环执行完毕,一旦"执行栈"中的所有同步任务执行完毕(循环结束后此时i=5)就会从队列中取出setTimeout(),详细的解释看https://blog.csdn.net/Febby_/article/details/94763441
14、与浏览列表有关的对象:history screen location Navigator
15、alert(null == undefined);结果为false,解析:undefined值是通过null派生出来的,==时它会自动转化为null,所以返回true。不过如果用严格比较符===,不发生转化,将返回false。
16、如何阻止IE和各大浏览器默认行为:window.event.returnValue = false和event.preventDefault();
-----------------------------------------分割线20210414--------------------------------------
17、严格模式下,普通函数的调用中this指向undefined,非严格模式普通函数调用指向window
-----------------------------------------分割线20210415--------------------------------------
18、NaN===NaN和{}==={}返回false,[NaN].indexOf(NaN)和[{}].indexOf({})返回-1,[NaN].includes(NaN)返回true,[{}].includes({})返回false

浙公网安备 33010602011771号