标签:
javascript 是弱类型语言,比较接近python和perl这类,不如java和c那样严格.所以写惯了强类型语言的小伙伴看到有些另类的写法也相当正常;
有些东东不精讲..以后单独脱离出来细讲;
有这么些数据类型: undefined(未定义) , Null(空值 – 特殊值) , Boolean(布尔值) , Number(数值) , String(字符串) , Object(对象,这个范围挺广,Array也属于其中)
typeof , instanceof , hasOwnProperty, isPrototypeOf ,isArray
流控制语句,,大多编程语言都是大同小异~~~~
//推荐带花括号,且花括号左边紧贴表达式,可以降低语法解析识别为错误的问题[解析器会自动给一些变量或者语句添加分号]
if(conditions) {
...
}else if{
...
}else{
...
}
//先执行do里面的逻辑,再执行判断表达式来确定下一步是否执行
do{
statement;
}while(expression)
//适合不知道应该循环多少次的,符合条件就无限执行,带花括号是一个好习惯
while(expression){
statement;
}
//适合有限的循环
for(initialization ; expression ; post-loop-expression){
statement;
}
//[ES5]适合来枚举对象的属性,遇到值为null或者undefined则会抛出错误
for(proerty in expression){
statement;
}
//[ES5] 适合遍历数组,缺点:不能用break跳出循环和用return语句
//传统是用for来遍历数组...见仁见智哈
var arr = [1,2,3,4];
arr.forEach(function(value){console.log(value)})
//结果集: 1,2,3,4,undefined
//[ES6]这货的出现,更加方便了数组的遍历...
//它避免了for-in的所有缺陷;
//与forEach()不一样,它支持break,continue和return。
var arr = [1,2,3,4];
for(var i of arr){
console.log(i)
}
//结果集: 1,2,3,4,undefined
//跟goto好类似....一般配合break和continue语句;在多重嵌套循环的时候,可以满足条件直接跳出整个循环(标签指定的位置)
label : for(initialization ; expression ; post-loop-expression){
statement;
}
//break是跳出循环(中断执行)
//continue是跳出这次循环,进入下一次循环(只是跳过符合条件的那一次循环,会继续执行到结束)
//语法和高级编程语言大同小异,适合多重判断(当然不嫌弃麻烦可以用if..elseif...else)
//小提示.若不是要执行多个表达式..记得每个对应判断条件后必须break结束;否则会依次往下寻找对应的值,其上的所有非包含break的都会执行;
switch(expression){
case value1 : statement; break;
case value2 : statement; break;
case value3 : statement; break;
...
default:statement;break;
}
/*
与大多编程语言一样..函数执行到return语句就结束该函数了..不管后面还有木有表达式;
因为JS是弱类型语言.. 在ES6前,有些东西不得不模拟,比如匿名函数,闭包,"花样式"继承
有点值得一提的是,,JS木有重载(当前,以后就不晓得会不会增加)
这里不多说..到时候在新文章拖出来细细揣摩
*/
function say(){
console.log("Hello world!");
}
say();
function say1(args1,args2){
console.log("Hello world!");
}
say1();
就我个人而言..原生JS我是折腾的比较痛苦的…花样太多;继续磨练~
标签:
原文地址:http://blog.csdn.net/crper/article/details/50977608