一种运行在浏览器中的解释型语言
ECMAScript标准,ECMAScript6简称ES6,2015年6月发布
<!DOCTYPE html>:非怪异模式,html5标准网页声明,使用标准模式,W3C标准解析渲染页面,写在文档顶部
通常把JavaScript代码放到<head>中
<script> </script>
<script src=""test.js> </script>
<script type="text/javascript" src=""test.js> </script>,可不显示写type,默认就是javascript
不强制在结尾加分号;,javascript引擎自动加分号
var a = 10; 动态语言
注释:// /* */
数据类型:
Number:
NaN not a number
Infinity表示无限大
字符串:使用单引号或双引号
布尔值:true,false,&&,||,!
比较运算符:
==自动转换类型 ===不自动转换类型
NaN === NaN // false
isNaN(NaN) // true
null:空值
undefined:未定义
数组:[] new Array(1,2,3)
对象:var person = {
name: 'Bob',
age: 20
}
变量:英文 数字 $ _
strict模式:
非strict模式下,如果没有var声明,自动为全局变量
'use strict'开启strict模式,使用var声明,否则报错
字符串:'str' "str" 转义"\" 十六进制"\x41" Unicode"\u4e2d"
多行字符串:``反引号
字符串连接:+或${}
字符串是不可变的,不能通过索引改变
常用方法:toUpperCase toLowerCase indexOf substring
数组:Array
indexOf slice->substring
push pop:末尾添加删除元素
unshift shift:头部添加删除元素
常用方法:sort()reverse()splice()concat()join()
多维数组的使用
对象:{}
对象的属性都是字符串,可以动态地给对象增加删除属性 xiaohong.age=20 delete xiaohong["school"]
使用in判断对象是否存在->继承+非继承
hasOwnProperty()->非继承