javascript基本数据类型?javascript的typeof返回哪些数据类型
javascript基本数据类型(六种):null、undefined、object、string、number、boolean
javascript的typeof返回哪些数据类型(六种):undefined、string、number、boolean、object、function
1 | console.log(typeof function(){}) // 返回字符串"function" |
强制类型转换和隐式类型转换
强制类型转换:parseInt、parseFloat、Number()、String()、Boolean()
隐式类型转换:参考资料
数组
concat()
:用于连接两个或多个数组,该方法不会改变
现有的数组,而仅仅会返回被连接数组的一个副本
。
1 | arrayObject.concat(arrayX,arrayX,......,arrayX) |
返回一个新的数组。该数组是通过把所有 arrayX 参数
添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组
,那么添加的是数组中的元素
,而不是数组
。
push()
:可向数组的末尾添加一个或多个元素,并返回新的长度。
1 | arrayObject.push(newelement1,newelement2,....,newelementX) |
返回值:把指定的值添加到数组后的新长度
。push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。
pop()
:用于删除并返回数组的最后一个元素。
1 | arrayObject.pop() |
返回值:arrayObject 的最后一个元素。
pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。
shift()
:用于把数组的第一个元素从其中删除,并返回第一个元素的值。
1 | arrayObject.shift() |
返回数组原来的第一个元素的值
。如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组
,而是直接修改原有的 arrayObject。
unshift()
:可向数组的开头添加一个或更多元素,并返回新的长度。
1 | arrayObject.unshift(newelement1,newelement2,....,newelementX) |
返回arrayObject 的新长度
,unshift() 方法将把它的参数插入 arrayObject 的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素 1,以此类推。unshift() 方法不创建新的数组,而是直接修改原有的数组
。
splice()
:向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。
1 | arrayObject.splice(index,howmany,item1,.....,itemX) |
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
slice()
:可从已有的数组中返回选定的元素。
1 | arrayObject.slice(start,end) |
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()
reverse()
:用于颠倒数组中元素的顺序。
1 | arrayObject.reverse() |
该方法会改变原来的数组,而不会创建新的数组。
事件绑定和普通事件有什么区别?
普通添加事件的方法:
1 | var btn = document.getElementById("hello"); |
事件绑定方式添加事件:
1 | var btn = document.getElementById("hello"); |
普通添加事件的方法不支持添加多个事件,最下面的事件会覆盖上面的,而事件绑定(addEventListener)方式添加事件可以添加多个。
IE和标准下有哪些兼容性的写法
1 | Var ev = ev || window.event |
事件委托是什么
利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行
闭包是什么,有什么特性,对页面有什么影响?
javascript的同源策略
同源策略的含义:脚本只能读取和所属文档来源相同的窗口和文档的属性。相同来源指的是相同的协议、主机名、端口号
document load 和document ready的区别
- load是当页面
所有资源全部加载完成后(包括DOM文档树,css文件,js文件,图片资源等)
,执行一个函数
问题:如果图片资源较多,加载时间较长,onload后等待执行的函数需要等待较长时间,所以一些效果可能受到影响 - $(document).ready()是当
DOM文档树
加载完成后执行一个函数 (不包含图片,css等)所以会比load较快执行
在原生的jS中不包括ready()这个方法,只有load方法就是onload事件