javascript:javascript基本介绍及基本语法
Posted why_not_try
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript:javascript基本介绍及基本语法相关的知识,希望对你有一定的参考价值。
什么是javascript?
javascript是一种直译型脚本语言,是一种动态类型、弱类型、基于原型的语言。(所谓“脚本语言”:指的是它不具有开发操作系统的能力,只是用来编写大型运用程序的脚本!)
javascript本身不提供任何与I/O(输入输出)相关的API,都是靠宿主环境提供!
常见的宿主环境:1.浏览器; 2.服务器,即Node项目。
宿主环境是浏览器,提供的额外API主要是三类:1.浏览器控制类(操作浏览器);2.DOM类(操作网页的元素);3.web类(实现互联网功能)
如果宿主环境是Node,提供的API:文件操作API;网络通信API等等。
javascript历史:
javascript与国际标准化组织ECMA(European Computer Manufaturers Association)的关系:
总结就是:ECMAScript是javascript的规格、标准;javascript是ECMA的实现!
ECMAScript只是用来标准化javascript这门语言的基本语法结构,与部署环境相关的标准是由其它标准规定,如DOM的标准由W3C制定!
ECMAScript的发布:
2009年12月,ECMAScript 5.0发布;
2011年6月,ECMAScript 5.1发布;
2015年6月,ECMAScript 6发布,并更名为“ECMAScript 2015”
更多有关javascript历史,可参考阮一峰教程
相关周边大事记:可参考
javascript变量:
1 1+1;//没有意义,不报错 2 ;;;//空语句,不报错 3 var a=1;//建议总是使用var 来申明变量! 4 b=1;//总是创建了全局变量 5 // console.log(a+" "+b); 6 console.log(a,b); 7 delete a;//delete无效 8 delete b;//删除成功 9 console.log(a); 10 console.log(b);//此时b被删除,报错
运行结果:
变量提升:
javascript引擎的工作原理:先解析代码,获取所有被申明的变量,然后再一行一行运行。
这样造成的结果是:所有变量的申明语句,都会被提升到代码的头部。这种原理叫变量提升(hoisting)
1 //相当于var c; console.log(c); c=1; 2 console.log(c); 3 var c=1; 4 5 console.log(d); 6 d=10;
运行结果:
undefined:表示变量c已经申明,但是未被赋值!
d is not definded:表示变量d没有申明。(d不是var命令申明的,javascript引擎不会将其提升!)
注释:
单行注释://
多行注释:/* */
历史上,由于javascript兼容html代码注释,所以<!--和-->也被视为单行注释(个人不推荐这种写法!)
1 <!-- 这里可以写注释内容 2 --> 这里可以写注释内容,注释符号必须在行首!否则会报错,或被当成运算符 3 var e=1; 4 if(e -->0){//相当于e-- >0 5 console.log(e);//输出0 6 }
区块:
使用大括号包括起来的语句,就是block(区块)。
注意:javascript区块不构成单独的作用域(scope)。即区块中的变量与区块外的变量,属于同一个作用域!(C++等语言出现这种情况会报错!)
1 for(var i=0;i<5;i++){ 2 console.log(i); 3 } 4 console.log(i);//输出5
switch:(使用严格相等运算符===比较!)
1 var x=1; 2 switch (x) { 3 case true: 4 console.log(\'first step\'); 5 break; 6 case false: 7 console.log(\'second step\'); 8 default: 9 console.log(\'switch 中使用的是===严格相等运算符\'); 10 break; 11 }
运行结果:
break和continue语句:(默认只针对一层循环!)(循环指的是while和for循环等)
break:跳出循环!
continue:立即终止本轮循环,返回循环结构头部,开始下一轮循环!
1 var z=10; 2 while(z<=10){ 3 z--; 4 if(z===9){ 5 continue;//跳转到z-- 6 }else{ 7 console.log(z); 8 } 9 if(z===8){ 10 console.log(z); 11 break;//跳转到while外面 12 } 13 }
标签:javascript语句前面可以有标签(label),相当于定位符,用于跳转到相应位置。
1 abc://可随意起名,不需加引号 2 for(j=0;j<3;j++){ 3 for(k=0;k<=j;k++){ 4 if(k===j && k===1) 5 break abc;//跳出了这两层循环! 6 else 7 console.log(j+" "+k); 8 } 9 }
同理:continue后面也可加标签!满足条件时,跳过当前循环,进入下一轮外层循环;如果continue后面不加标签,则只能进入下一层内层循环!
本文参考链接:阮一峰javascript标准参考教程
以上是关于javascript:javascript基本介绍及基本语法的主要内容,如果未能解决你的问题,请参考以下文章