一:js中==与===的区别
双等号==:
(1)如果两个值类型相同,再进行三个等号(===)的比较
(2)如果两个值类型不同,也有可能相等,需根据以下规则进行类型转换在比较:
1)如果一个是null,一个是undefined,那么相等
2)如果一个是字符串,一个是数值,把字符串转换成数值之后再进行比较
三等号===:
(1)如果类型不同,就一定不相等
(2)如果两个都是数值,并且是同一个值,那么相等;如果其中至少一个是NaN,那么不相等。(判断一个值是否是NaN,只能使用isNaN( ) 来判断)
(3)如果两个都是字符串,每个位置的字符都一样,那么相等,否则不相等。
(4)如果两个值都是true,或是false,那么相等
(5)如果两个值都引用同一个对象或是函数,那么相等,否则不相等
(6)如果两个值都是null,或是undefined,那么相等
二:-js 中常用的内置对象,并列举该内置对象的方法
Math:
Math.abs()返回绝对值
Math.ceil()向上取整
Math.floor()向下取整
Math.max()返回最大值
Math.min()返回最小值
Math.random()返回0-1的随机数 0可以取到但取不到1
Date:
date.getFullYear();//从Date对象(也就是这里的date)中返回年份。
date.getMonth();//从Date对象中返回月份。
//注意:这里的月份是返回0到11的数字,0对应一月,1对应二月,所以在使用的时候记得要加一。
date.getDate();//从Date对象返回一个月中的某一天。
date.getDay();//从Date对象返回一个星期中的某一天。
//注意,这里返回的也是从0开始的数字,0对应的是星期天,1对应的是星期一,6对应的是星期六。
date.getHours();//返回Date对象的小时(0~23)。
date.getMinutes();//返回Date对象的分钟(0~59)。
date.getSeconds();//返回Date对象的秒数(0~59)。
date.getTime();//返回1970 年 1 月 1 日到Date对象所设时间的毫秒数。
Array:
arr,count()拼接数组
arr.join()用括号里的把数组连接成字符串
arr.push()向数组最后面添加
arr.unshift()向数组头部添加元素
arr.shift()从数组头部删除一个元素
arr.pop()从数组尾部删除元素
arr.slice()
当1个参数时,表示从该参数对应的索引位开始截取,直至数组结束 。
有2个参数时,第一个表示起始位,第2个表示结束位,但是不包含第二个参数对应那个元素//原数组不改变
arr.splice()删除元素、替换元素、插入元素
当1个参数时,表示截取的起始位,返回截取的数组,原数组发生改变。 当2个参数时,第一个值表示索引位,第二个参数表示截取的长度 当3个参数时,第一个值表示索引位,第二个参数表示截取的长度,第三个及以后的参数会从截取位添加到数组中。
arr,reverse()翻转原数组
arr.sort()数组进行排序 sort可以进行传参 否则默认按位数进行排序
String:
str.indexOf();//用于返回指定内容在原字符串中的位置,如果没有,则返回-1。
str.trim();//去除字符串前后的空白。str.concat();//用于拼接字符串,它跟加号的效果是一样的,平时我们用的更多的也是用加号连接字符串。
str.substring(start,end);//从start位置开始,截取到end为止,end取不到。
str.substr(start,length);//从start位置开始,截取length长度个字符串,如果没有写length的值则默认截取到最后。
str.replace();//替换字符串的某个元素,并返回替换后的字符串。
str.split();//把字符串分割成数组的形式返回。
五:document.write()和 innerHTML 的区别
document.write()必须使用script标签才能被调用。违背了“行为与表现分离的原则”,即无法实现JavaScript和HTML的分离。
document.write()容易导致验证错误。比如在例①中,<script>标签后面很容易认为是<p>标签,而在<script>标签后面打开<p>标签是非法的。事实上,那个“<p>”和“</p>”只不过是一个将被插入文档的字符串的组成部分而已。
document.write与MIME类型application/xhtml+xml不兼容,浏览器在呈现这种XHTML文档时根本不会执行document.write()方法。
document.write()仅支持写入
innerHTML可以实现JavaScript和HTML的分离。
innerHTML既支持读取,又支持写入。
主要区别:document.write是直接将内容写入页面的内容流,会导致页面全部重绘,innerHTML将内容写入某个DOM节点,不会导致页面全部重绘