标示符:区分大小写,可以是_ $ 或字母开始不能是数字,中文命名变量也合法。
保留字:void break delete function return do case if switch var catch else in this continue false instanceof throw while debugger finally new true const default for null try 等
变量:通过var来定义,没有则是全局变量和lua的local类似
注释:标准C语言的注释方法 /**/ or //
数据类型:包括数值,字符串,对象类型,数组类型,布尔类型等等
数值类型:包括十进制 八进制等,和C语言差不多。浮点数必须包含一个小数点或者一个E或e
布尔类型:false true
字符串:“123” or ‘123’
对象类型:new 来创建一个对象
数组类型:Array是一个数组对象,var arr=new Array(10) arr数组大小为10。由于是弱类型的脚本语言,数组也支持混合类型如
var arr= new Array(10);
arr[0]="123";
arr[1]=12;
字面常量:
12 整数, 1.2 浮点数, “hello” 字符串, true 布尔,{x:50,y:100} 对象,null 空对象(不存在任何对象),[1,2,3]数组对象
类型转换:
转换为字符串:toString函数。
转换为数字:parseFloat parseInt(arg,to)//to表示目标进制 等函数 注:会自动剔除非法字符然后返回
console.log(parseInt("123ab2",10));//输出10进制123
console.log(parseInt("0xB",10));//输出11,parseFloat不能用16进制转换
可用全局函数isNan(ARG)来检测是否是Nan
强制转换:
console.log(Boolean(0.0));// 每种数据类型的false 否转换为false 如整数的0,浮点的0.0,
//字符串的"" , 对象的null 等,其余都为true
console.log(Number("1211yey"));//返回Nan,非法数据都会直接返回Nan而不是返回有效部分
//(字符串“0xa” 之类的有效)
运算符规则和Java类似,不过有特殊地方,由于是弱类型语言,
var int =5.5;int %=2; // int为1.5
var int =5.0;int %=2; // int为1
//除法同理
//能是整数,则优先为整数比如2.5*2 为5 而不是5.0
关系运算符:大多数和java c一样,需要特殊说明的是
== :等于(不包含类型) 如5==5.0 为true , 5==“5” 也为true
===: 等于(包含类型) 如5===5.0 为true,5===“5” 为false 因为类型不能
!= !== 同理
位运算和java C一样 反码补码等。浮点数会去掉小数部分然后运算,
var x=-1;
var y=0xff;
console .log( x&y); 输出255//0xff & 11111111( 10000001 取反+1)
//0xff &0xff = 0xff
位运算只支持32为整数,Number内部是64位浮点数,无论是整数还是小数都要要注意误差问题
var x=0xffffffff;//32位
console.log((x>>>1)); // 无符号右移,证明32位
var x=0xffffffffffff; // 48位
console.log((x>>>1));//无符号右移,证明32位
var y=0xfffffffffffff;//7字节
console .log( y-1);
console .log( y);
console .log( y+1);
//结果正常
instanceof 运算符:返回Boolean
var arr = new Array(10);
var ty= arr instanceof Array; //arr 是否是Array 的对象
console.log( ty);
typeof运算符:返回字符串
var arr = new Array(10);
console.log( typeof (typeof arr));//输出string
console.log(typeof arr);//输出object
控制循环语句:if,switch,for,while,do while 和java c一样。
//for in遍历集合和对象(和lua的pairs ipairs类似)
var arr= [2,1,2,3,4,5,6,7,8,9];
for( var i=0 ; i<arr.length;i++)
{
console.log( arr[ i]);
}
for( var i in arr)
{
console.log( arr[ i]);//i为index
}
函数:三种方式定义函数 调用 func(5)
function func(ARG)//局部函数
{
console.log(ARG);
}
var func= function (ARG) {//局部函数
console.log(ARG);
}
func= function (ARG) { //全局函数
console.log(ARG);
}
来源:oschina
链接:https://my.oschina.net/u/1391394/blog/705820