你是如何理解 HTML 语义化的
就是用正确的标签做正确的事情,尽量少用div,span等无具体意义的标签。
html,css,js,jq有什么联
HTML 定义了网页的内容,CSS 描述了网页的布局,JavaScript 写网页的行为,jQuery 是一个 JavaScript 库,jQuery 极大地简化了 JavaScript 编程。
js数组和对象分别怎么创建
数组:
var arr = [1,2,3];
var arr2 = new array();
对象
var obj = "object";
var obj2 = {key:1,value:"object"};
js数组和对象分别怎么添加数据
数组:
var arr= [1,2,3];
arr.push(4,5);
console.log(arr);//[1,2,3,4,5]
对象:
var obj2 = {key:1,value:"object"};
obj2.name = "zhangsan";
console.log(obj2);//{ key: 1, value: 'object', name: 'zhangsan' }
js有哪些数据类型
js的数据类型有8种,ES5的时候有6种:Number,String,Boolean,undefined,object,Null。
ES6新增了一种Symbol,这种类型的对象永不相等,即始创建的时候传入相同的值。这样可以解决属性名冲突的问题,做为标记。
谷歌67版本还有一种bigInt。是指安全存储、操作大整数。
Object中还包含了Data,function,Array等,这三种是常用的。
基本类型(单类型):除Object。 String、Number、boolean、null、undefined。
引用类型:object。里面包含的 function、Array、Date。
什么是事件冒泡和事件捕捉?
事件有三种模型,原始事件模型、DOM2事件模型、IE事件模型。
原始事件模型:这是一个被所有浏览器都支持的模型,没有事件流,一旦发生马上执行,有两种方式实现。
1.在html代码中直接指定属性值
2.在js代码中为 document.getElementsById(“demo”).onclick = fun()
DOM2事件模型:此模型是W3C指定的标准模型,现在的浏览器除了IE6-8都支持这个规范,W3C制定的事件模型中,一次事件包含三个过程:事件捕获阶段,事件目标阶段,事件冒泡阶段。
事件捕获:当某个元素触发某个事件(如onclick),顶层对象document就会发出一个事件流,随着DOM树的节点向目标元素节点流去,直到到达事件真正发生的目标元素。在这个过程中,事件相应的监听函数是不会被触发的。
事件目标:当到达目标元素之后,执行目标元素该事件相应的处理函数。如果没有绑定监听函数,那就不执行。
事件冒泡:当某个元素的某类型事件被触发时(如onclick),它父级的同类型事件也会被触发,它的父级的父级同类型事件也会被触发,以此类推,一直触发到根元素。途中如果有节点绑定了相应的事件处理函数,这些函数都会被触发一次。
IE事件模型:
监听器的增加: attachEvent( “eventType”,“handler”)
监听器的解除: detachEvent(“eventType”,“handler” )
因为只有IE能用,