当数值与字符串相加时,数值会被当做字符串处理。
ECMA European Computer Manufacturers Association 一种组织
javascript语言的标准就是被称为:ECMAscript标准
ECMAScript是一种语言标准,而JavaScript是网景公司对ECMAScript标准的一种实现。
那为什么不直接把JavaScript定为标准呢?因为JavaScript是网景的注册商标。
不过大多数时候,我们还是用JavaScript这个词。如果你遇到ECMAScript这个词,简单把它替换为JavaScript就行了。
##字符串
字符串.length 查看字符串长度 字符串经过赋值了之后无法改变字符串的某个字符 可以通过索引来访问字符
.toLowerCase 把字符串全部变为小写
.toUpperCase 把字符串全部变为大写
.indexOf()会搜索指定字符串出现的位置:
.subString()截取指定的子字符串
##数组
数组可以用索引访问每个元素
数组.length 查看数组长度
.indexof() 查找数组指定的元素的下标
.slice(0,4) 截取数组中0-4的元素 不包括4
.push() 向数组末尾添加若干个元素
.pop() 把数组末尾的一个元素删除
.shift() 把数组首部的一个元素删掉
.unshift() 向数组首部添加一个元素
.sort() 将数组按照默认的顺序排序
.reverse() 将数组顺序反转
.plice()方法是修改Array的“万能方法”,它可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素:
// 从索引2开始删除3个元素,然后再添加两个元素:
arr.splice(2, 3, 'Google', 'Facebook'); // 返回删除的元素 ['Yahoo', 'AOL', 'Excite']
arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']
// 只删除,不添加:
arr.splice(2, 2); // ['Google', 'Facebook']
arr; // ['Microsoft', 'Apple', 'Oracle']
// 只添加,不删除:
arr.splice(2, 0, 'Google', 'Facebook'); // 返回[],因为没有删除任何元素
arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']
##对象
对象可以自由的添加或者删除属性
对象.属性 就可以新增一个属性
delete 对象.属性 删除一个属性
属性名 in 对象 可以查看对象是否拥有某个属性(有可能输继承得到的属性)
判断某个对象自身是否拥有某个属性用:
对象名.hasOwnProperty();
##遍历对象
for(var key in 对象 )
ES6规范新增了map
初始化map可以使用 a = new map([[]]);(二维数组)
或者 a = new map();
a.set() 添加键值对
a.delete() 删除键值对
a.has() 查看是否拥有某个属性
a.get() 获取某个属性的值
set集合是一个没有重复元素的集合
.add() 添加元素 添加的重复元素无效。
.delete() 删除元素
遍历集合类型的方法:
for(var x in a) 不好用
for(var x of a ) 好用,
a.foreach(element,index,array) 最好用
##DOM
所谓的DOM就是指通过document对象来访问HTML页面中的所有元素,可以说HTML文档中的所有元素都可以通过这种方法来访问,并且修改,替换原有的值。
##BOM
也就是通过window对象与浏览器进行对话
-
document对象也是window的一个子类
-
window对象的子类还有:
-
window 可以获取浏览器窗口的相关信息
-
screen 获取电脑屏幕的相关信息
-
Location 获取当前页面的地址并可以跳转的新的地址
-
history 有两个方法 back和forward 相当于浏览器的后退和前进按钮
-
Navigator 可用来返回访问者的信息,即访问网站的浏览器的信息 比如浏览器名称,浏览器代码名称,浏览器版本,浏览器代理等等。但是来自 navigator 对象的信息通常是误导性的,不应该用于检测浏览器版本,因为:
不同浏览器能够使用相同名称
导航数据可被浏览器拥有者更改
某些浏览器会错误标识自身以绕过站点测试
浏览器无法报告发布晚于浏览器的新操作系统 -
window可以弹出三种窗口:
- alert() 警告框
- confirm()确认框
- prompt() 提示框
-
通过 JavaScript 使用的有两个关键的方法:
setTimeout(function, milliseconds) -
在等待指定的毫秒数后执行函数。
setInterval(function, milliseconds)
等同于 setTimeout(),但持续重复执行该函数 -
clearTimeout() 方法停止执行 setTimeout() 中规定的函数。
-
setInterval() 方法在每个给定的时间间隔重复给定的函数。
-
clearInterval() 方法停止 setInterval() 方法中指定的函数的执行。