1.(` `) 反引号符号的作用
使用反向标记作为分隔符,允许嵌入基本的字符串插值表达式,然后自动解析和评估它们。` 内的字符被解释为字符串文字,内插字符串文字的一个非常好的好处是允许它们分成多行。
` `和' ' 的使用场景的区别:` `内包含需要被解析的代码,' ' 里面放普通字符串或html代码;
2.${..}形式的任何表达式都会立即进行内联解析和评估。
3.alert怎么换行
例: alert('姓名:' + myname + "\n" + '年龄:' + age + "\n" + '性别:' + sex);
4.随机数
(1)math.random()函数
取值范围:0.0~1.0;
例如:var a:Number=Math.random()*2+1,设置一个随机1到3的变量。
(2)math.round()函数
Math.round(x)表示将x参数进行四舍五入,x必须为数字。
例如:document.write(Math.round(0.60) ) 结果:1
(3)math.ceil()函数
Math.ceil(x)返回大于或等于x,并且与之最接近的整数。
注意:如果x是正数,则把小数“入”;如果x是负数,则把小数“舍”。
(4)math.floor()函数
Math.floor(x)返回小于参数x的最大整数,即对浮点数向下取整。
例如:print("floorTest 8.5: ".. math.floor(8.5)) 结果: 8
5.JavaScript 预解析顺序
变量声明、函数体、赋值、调用
6.创建对象的两种方法
(1)利用字面量创建对象,var 对象名={ 键值对 , 键值对}
var obj={
name:'陆小果',
age:'12岁',
skill:function(){
console.log('写诗') ;
}
}
(2)利用new Object() 创建对象,var 对象名=new Object(); 对象名.属性;
var obj=new Object();
obj.name='陆小果';
obj.age='18岁';
obj.skill=function(){
console.log('写诗');
}
7.构造函数,封装的是对象;对象内有属性和方法。
8.为什么用getElementByTagName无法获取事件源
因为getElementsByTagName返回的是伪数组,想获取元素需要加索引号,
如:var div = document.getElementsByTagName('div')[0];
9.对象跟方法的使用
(1)document可以直接调用方法,不需要实例化一个对象;
var img = document.querySelector('img');
很多对象都需要先实例化,再调用方法。
(2)使用Date(),要先实例化对象,再调用相应的方法。
var date = new Date();
var h = date.getHours();
(3)元素本来有的属性
div.innerHTML = '亲,下午好,好好写代码';
10.节点概述,不同节点类型对应不同的字符串值,其中
元素节点 1
属性节点 2
文本节点 3
11.为什么for循环后不能用某发个数组执行想要的效果
for (var i = 0; i < tab.length; i++) {
tab[i].onclick = function () {
// console.log(11);
//排他,先清空其他的效果,再引入当前的效果
for (var i = 0; i < tab.length; i++) {
tab[i].className = '';
}
console.log(i);
this.className = 'current'; //tab[i]是错的
//排他,将所有都先隐藏,只显示当前的
for (var i = 0; i < tab.length; i++) {
item[i].style.display = 'block';
}
// item[i].style.display = 'none'; //为什么是错的
//给每个小li设
}
}
答:这里的tab[i]和item[i]都在循环外,且i经过循环已经有特定的结果了,且结束循坏的i值已经不在范围内,不会有结果。
参考链接:web前端js,tab栏问题 lis[i].style.display = 'block';//为什么这句话不行,为什么这样不行啊web前端js,tab栏问题 lis[i].style.display = 'block';//为什么这句话不行,为什么这样不行啊_百度知道
12.面试问题
事件委托的核心原理:给父节点添加侦听器, 利用事件冒泡影响每一个子节点
13.为什么在setInterval会越来越快?
越来越快是因为每次调用setInterval过后,没有通过clearInterval()来删除它,导致多次效果叠加,于是表现出越来越快。
14.offsetTop是元素距离页面顶部的距离,不会随着屏幕滚动而改变;
pageYOffset 是页面被卷去的顶部距离,会随着屏幕滚动而变化;
15.两个重叠的绝对定位,背景颜色谁展示在前面,取决于谁的HTML代码写在更下面。