前端学习2-JavaScript

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代码写在更下面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值