JavaScript 数组操作的例题 修改原数组的方法:copyWithin、fill、pop、push、reverse、shift、unshift、sort、splice。不修改原数组的方法:concat、slice。
javascript的setTimeout 和立即执行函数 2024/9/3for (var i = 0; i < 2; i++) { setTimeout(function() { console.log(i); }, 0);}for (var i = 0; i < 2; i++) { (function(i) { setTimeout(function() { console.log(i); }, 0); })(i);}以上输出为全局作用域中的 setTimeoutsetTim
HTML之table表格 找到目标单元格. 写上合并方式 = 合并的单元格数量。指表格数据(table data),即数据单元格的内容。标签用于定义表格中的行,必须嵌套在。用于定义表格中的单元格,必须嵌套在。先确定是跨行还是跨列合并;是用于定义表格的标签。
JavaScript 中关于构造函数、原型和静态方法的一个例题 正确的输出结果为 function Person(age) {…D选项,使用p.age可以访问实例对象p的age属性,结果为18,p.age 返回的应该是实例对象 p 的 age 属性的值,即 18,而不是静态属性 Person.age 的值 20。C选项,getAge方法是定义在原型对象上,而原型对象上的方法可以使用实例对象来调用,原型对象方法中的this指向实例对象;B选项,sing方法是定义在构造函数上的静态方法,调用时使用Person.sing(),而不能实例对象来调用。
JavaScript中的reflow(回流) color 是一个影响元素文本颜色的属性,它属于绘制(Repaint)属性,而不是影响布局的几何属性。改变颜色仅会触发 Repaint,而不会引起 Reflow,因为文本颜色的改变不会影响元素的位置或大小。此操作会立即触发 Reflow,因为它改变了元素的高度,可能影响其周围其他元素的布局。obj.className 返回的是 test 元素的 class 属性值,并不会引起页面的任何布局变化。此操作仅涉及获取元素的一个字符串属性,不会触发浏览器的 Reflow 过程。
CSS盒子模型以及外边距合并问题 当上下相邻的两个块元素相遇时,如果上面的元素有外边距margin-bottom,下面的元素有上边距margin-top,则他们之间的垂直间距不是margin-bottom和margin-top之和,而是取两者中的较大者。对于两个嵌套关系的块元素,如果父元素没有上内边距及边框,则父元素的上外边距会与子元素的上外边距发生合并,合并后的外边距为两者中的较大者。每个块级元素都从新的一行开始,并且其后的元素也另起一行。元素的宽度在不设置的情况下,为父元素的100%。元素的宽度就是元素内容的宽度。
JavaScript 中的垃圾回收机制 程序中分配的内存由于某种原因程序未释放或无法释放叫做内存泄漏。①全局变量i(第二行的var i = 2会覆盖第一行的变量i)③闭包里面的局部变量i不会被回收(即在另外一个作用域被引用了)引用计数法:将一个复杂数据类型赋值为null,即可释放。javascript中分配的内存,具有以下生命周期。有三个变量没有被回收。②全局add未被回收。
javascript中this在函数中的指向问题 因为构造函数和原型对象中的this都指向实例,如果换成箭头函数的话就变成window了。在DOM事件回调函数如果里面需要DOM对象的this,则不推荐使用箭头函数。同样由于箭头函数this的原因,基于原型的面向对象也不推荐采用箭头函数。这里this指向为window,所以输出为undefined。
正则表达式的两个例题 这个正则表达式会找到并返回所有连续的 “b” 子串:[“b”, “bb”, “bbb”, “bbbb”]故最终结果为result = [“75team2017”];/b+/g 解释为匹配一个或多个连续的 “b”。/b*/g 解释为匹配零个或多个连续的 “b”。
JavaScript 中的表达式以及reduce函数 reduce 方法的第一个参数是一个回调函数 (a, b) => a - b,它接受两个参数 a 和 b 并返回 a - b。这个表达式使用了数组的 reduce 方法,它对数组中的每个元素执行一个提供的函数,将其结果累计到一个单一的值。一个空数组 [] 在转换为数字时,会首先被转换为一个空字符串 “”,然后空字符串被转换为数字 0。累计值 -3 与数组的第三个元素 -3 进行计算:-3 - (-3) = 0,最终结果为 0。累计值 -1 与数组的第二个元素 2 进行计算:-1 - 2 = -3。
JavaScript 中的比较与类型转换的一个示例 因此,这个表达式的结果为 true。它会从字符串的第一个字符开始解析,直到遇到一个无法转换为数字的字符为止。isNaN 函数用于判断一个值是否为 NaN(不是一个数字)。它会首先尝试将传入的值转换为数字,然后检查是否为 NaN。instanceof 操作符用于检测一个对象是否是另一个对象的实例。字符串 “100” 可以成功地转换为数字 100,而 100 不是 NaN。因此,这个表达式的结果为 false。空数组 [] 是 Array 的实例,因此这个表达式的结果为 true。