主页 >
新闻资讯 >
软件开发资讯 >
Javascript编程软件开发 >
javascript跳跃式前进
更新时间:2016-04-19 11:01
发布者:周老师
要点提取:
语法
-
区分大小写[非常重要哦,比如True和False就不是布尔值了,而是标示符]
-
和强类型基本大同小异,以强类型的命名风格基本没什么错误;推荐驼峰大小写
-
注释有单行和多行注释
-
严格模式,速度运行是最快的;但是相当多的东西给限制了
-
语句以分号结尾,支持多变量定义[逗号隔开],在语句多的时候,链式写法速度有一定的速度提升;
-
关键字和保留字不允许来做变量名[具体查表去吧..很多]
数据类型
有这么些数据类型: undefined(未定义) , Null(空值 – 特殊值) , Boolean(布尔值) , Number(数值) , String(字符串) , Object(对象,这个范围挺广,Array也属于其中),symbol[ES6]
-
undefined : 变量未初始化的默认值
-
null : 是一个特殊的对象[空的对象引用]
-
boolean : 只有true和false两个值,值得注意的是0和1不一定代表false和true
-
Number : js没有双精度.只有单精度..也不像强类型语言,根据是否有小数点且跟值来定义浮点还是整数 , 数值溢出为infinity,[NaN是一个特殊的数值]
-
String : 字符串
-
Object : 函数就是对象..在JS中函数在没有返回值时默认返回的一个对象
-
Symbol : 这个是ES6才加入的,笼统点的说就是特殊的标示符,可以用来区别某些实例或者对象;但不等同于lisp那样的symbol(具体我现在也没深入~~~)
数据判断
typeof , instanceof , hasOwnProperty, isPrototypeOf ,isArray
-
typeof : 会把大多类型归为对象
-
instanceof : 用于判断一个变量是否某个对象的实例
-
hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
-
isPrototypeOf: 是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回false。
-
isArray : ES5添加专门判断是否为数组的
数据转换
-
Number() : 可以把允许转换成数值的内容变成数值,比如字符串”123”[前置0会忽略],空字符串为0,除能转为数字格式外的字符都会转为NaN
-
paseInt() : 转换字符串为整数,若是”111ee”只会得到111,逐个字符遍历的[若是非数字开头则不会遍历,遇到小数点也会停止]..
-
parseFloat() : 转换字符串为浮点数,与上面那个类似
-
Boolean() : 转为布尔值
-
String() : 把值转为字符串,对象转换会调用ValueOf(),与toString()效果基本一致
操作符
-
一元操作符 : 包括加减乘除,前置减减加加和后置减减加加[前置先赋值生效再执行,后置执行后再运算]
-
按位操作符 : 跟强类型语言一致,包括按位非(~)[值的反值,真假调换],按位与(&)[同为真才为真,其他为假],按位或(|)[存真即为真,同假才假],按位异或(^)[相同为假,不同为真]
-
左移和右移: 左移为乘以2的次幂,右移除以2的次幂..无符号右移[正数不变,符号会因为左边填充0变成一个相当大的正值]
-
逻辑运算符 : 逻辑与(&&)[同为真才为真,其他为假] ,逻辑或(||)[有真即为真,同假才为假]
-
相等操作符 : = [赋值,有复合操作符(可以配合加减乘除求余等运算符 ,例如 a %= 3 , b *= 2;)] , == [若允许转换成比较的类型,自动转换匹配的类型比较] , === [强等,不转换比较,同时比较类型和值]
-
条件运算符[三目运算符] : (expression)? true : false ; 表达式真假来获取对应的返回值
流控制语句
流控制语句,,大多编程语言都是大同小异~~~~
if(conditions) {
...
}else if{
...
}else{
...
}
do{
statement;
}while(expression)
while(expression){
statement;
}
for(initialization ; expression ; post-loop-expression){
statement;
}
for(proerty in expression){
statement;
}
var arr = [1,2,3,4];
arr.forEach(function(value){console.log(value)})
var arr = [1,2,3,4];
for(var i of arr){
console.log(i)
}
label : for(initialization ; expression ; post-loop-expression){
statement;
}
switch(expression){
case value1 : statement; break;
case value2 : statement; break;
case value3 : statement; break;
...
default:statement;break;
}
函数
function say(){
console.log("Hello world!");
}
say();
function say1(args1,args2){
console.log("Hello world!");
}
say1();
上一篇:
JS原生追加子节点 下一篇:
异步编程之Javascript Promises 规范介绍