词法结构
//单行注释
/*段落注释*/
/*
*段落注释
*/
直接量:程序中直接使用的数据值,如12,“hello”,true
保留字:break,true,if,var。。。。
类型、值、变量
用var来申明包括数字,字符串,函数等变量。
函数内部申明的变量为局部变量,作用于为函数内,函数外部申明的变量为全局变量,作用于全局,局部变量优先级高于全局变量。
申明提前:未赋值的变量都会优先申明,即时将变量声明放在使用他的代码块后面,也可以正常取的变量的值,如果变量已经赋值放在使用它的代码块后面,就取不到值。
数据类型:
-
undefined:表示变量还没有声明
-
null:表示object类型变量没有引用对象
-
boolean:布尔值类型
-
String:字符串类型
-
Symbol:ES6语法新定义数据类型
-
Number:数值类型
-
Object:对象类型
表达式和运算符
函数定义表达式:
var a=function name(){}
属性访问:
a.b
a["b"]
创建对象:
new a();
new b(1,2,2);
如果创建对象不需要参数,括号可以省略
new a
运算符:
<,>,<=,>=,in,instanceof(判断左边是否是右边的实例),&&,||,!
赋值:
a=1
语句
if(){
}
if(){
}else{
}
if(){
}else if(){
}
swich(){
case:
break;
}
while(){
}
for(var i=0;i<a.length;i++){
}
for(var a in b){}
对象
创建对象
-对象直接量
var a={};
var b={x:0,y:1};
var c={x:b.x,y:d{x:1,y:2}};
-通过new创建
var a=new Object();
var b=new Date();
-Object.create()创建
var a=Object.create({x:1,y:2});
var b=Object.create(Object.prototype);
属性值的查询和赋值
var a=o.x;//查询
var a=0["x"];//查询
o.x=1;//赋值
o["x"]=2;//赋值
继承
var a={x:1};
var b=inherit(a);
b.y=2;
b.x+b.y //3
数组
数组方法
join()
reverse()
元素颠倒顺序
sort()
排序
contact()
合并
slice()
拆分
splice()
拆分
push() pop()
分别对应尾部添加一个或多个元素和尾部删除一个或多个元素
unshift() shift()
分别对应头部添加一个或多个元素和头部删除一个或多个元素
toString() toLocalString()
将数组元素转为字符串并用逗号分开输出,不会输出方括号或其他任何包裹数组值的分隔符
函数
函数定义
使用关键字function。
function 函数名 (参数,参数......){
函数体
}
函数的调用
四种方式调用函数:
+作为函数
+作为方法
+作为构造函数
+通过call() apply()方法间接调用
可立即执行
(function(){
//函数体
}());
类和模块
export导出模块
import导入模块module
网友评论