var定义的变量是全局变量或者函数变量。
let定义的变量是块级的变量。
例如:
while(1){
let let1 = 2
var var1 = 2
}
alert(let1) //不可访问
alert(var1) //可以访问
也就是说,let只对它所在的最内侧块内有效,而var的范围至少是一个函数之内。
<video id="myvideo"></video><button onclick="testCustomAttribute()">测试</button>
function testCustomAttribute() {
var myobj = document.getElementById("myvideo")
myobj.status = "stop"
console.log($("#myvideo"))
console.log($("#myvideo")[0].status)//此处获得status值
}
Property:属性,所有的HTML元素都由HTMLElement类型表示,HTMLElement类型直接继承自Element并添加了一些属性,添加的这些属性分别对应于每个HTML元素都有下面的这5个标准特性: id,title,lang,dir,className。DOM节点是一个对象,因此,他可以和其他的JavaScript对象一样添加自定义的属性以及方法。property的值可以是任何的数据类型,对大小写敏感,自定义的property不会出现在html代码中,只存在js中。Attribute:特性,区别于property,attribute只能是字符串,大小写不敏感,出现在innerHTML中,通过类数组attributes可以罗列所有的attribute。
对于有些标准的特性的操作,getAttribute与点号(.)获取的值存在差异性。如href,src,value,style,onclick等事件处理程序。
href:getAttribute获取的是href的实际值,而点号获取的是完整的url,存在浏览器差异。