关于html5正确的是,html,javaScript6

1. 根据HTML5规范,关于HTML,下列哪个说法是正确的?

951ed3c4e22656c1220fa77126263359.png

a,inline元素只能嵌套inline元素。

b,没人见过有哪个网站的网页里有两个title的吧?

c,h5新标签main只允许一个,因为代表的是主要内容,哪有两个主要内容的呢?有多个的都不能叫主要内容了

d,p是双标签

2.

64cd59a86ea56d2dc49933e88df09a4a.png

1b9cee065f7baeffc7601d484686b20d.png

第一个:let将i绑定到for循环快中,事实上它将其重新绑定到循环体的每一次迭代中,确保上一次迭代结束的值重新被赋值。setTimeout里面的function()属于一个新的域,通过 var 定义的变量是无法传入到这个函数执行域中的,通过使用 let 来声明块变量,这时候变量就能作用于这个块,所以 function就能使用 i 这个变量了;输出为0,1.

第二个:settimeout是异步执行,1s后往异步任务队列里面添加一个任务,只有同步的全部执行完,才会执行异步任务队列里的任务,当主线执行完成后,i是2,所以此时再去执行任务队列里的任务时,所以输出两次2.

①Js是单线程的,Settimeout是异步宏任务,所以代码执行遇到异步的,就放在事件队列中的,等线程中的任务执行完后才会执行事件队列中的任务。② let是es6中声明变量的方式,有自己的作用域块,可以放变量,所以let绑定for循环时,每个i都有自己的值. 在这个for循环中就是满足一次条件向事件队列中添加一个打印i的事件,且每个事件中的i有自己的值 ③Var没有作用域块,for循环的变量就会后一个覆盖前一个,当循环完毕时i就只有一个值,又因为for循环的判断条件是不满足跳出,所以i最后是2而不是1 ④这些完了后执行事件队列中的任务,就打印了0122

3.

2dcc364be3d8f856024f255c35b5d527.png

知识点一:js函数调用时加括号和不加括号的区别.不加括号相当于把函数代码赋给等号左边,加括号是把函数返回值赋给等号左边.参考https://www.zhihu.com/question/31044040

知识点二:js中this的用法,this总是指向调用它的对象,倒数第二行的getColor为windows调用的,倒数第一行的getColor是test4399对象调用的.参考http://www.cnblogs.com/painsOnline/p/5102359.html

getColor();相当于普通的函数调用,此时this指向window,this.color应该为全局变量的值

test4399.getColor();此时this指向调用函数的对象test4399,因此this.color应该为对象的属性值

4.

09d8d4402e6cf5b3d8ddd4aafea14195.png

对象分为三类: 内置对象 宿主对象 自定义对象

(1)内置对象: Arguments Array Boolean Date Error Function Number String Regexp Math Object

(2)宿主对象:运行环境提供的对象。如Window和Documen,Element,form,image。

(3)自定义对象:开发人员定义的对象。

5.

9edc0044088ee4e3595b9f8d13126a6f.png

void是一元运算符,它出现在操作数之前,操作数可以是任意类型,操作数会照常计算,但忽略计算结果并返回undefined。由于void会忽略操作数的值,因此在操作数具有副作用的时候使用void来让程序更具语义

console.log(void 0); // undefined

console.log(void(0)); // undefined

常见的作用:

1.替代undefined

由于undefined并不是一个关键字,其在IE8-浏览器中会被重写,在高版本函数作用域中也会被重写;所以可以用void 0 来替换undefined

var undefined = 10;

console.log(undefined);//IE8-浏览器下为10,高版本浏览器下为undefined

function test(){

var undefined = 10;

console.log(undefined);

复制代码

}

console.log(test());//所有浏览器下都是10

2.客户端URL

这个运算符最常用在客户端URL——javascript:URL中,在URL中可以写带有副作用的表达式,而void则让浏览器不必显示这个表达式的计算结果。例如,经常在HTML代码中的标签里使用void运算符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值