1.块语句
常用于组合0~多个语句:语法:{语句1;语句2……}
*没有块级作用域:如:在for循环里面定义一个自增数 i,可以在for循环外取到它跳出循环时的值,而且for循环里面新定义的数据也能取到。
*但是如果在函数里面定义一个变量,在函数外面取不到。
2. var 声明语句
var a = 1,b = 1;//正确
var a = b = 1; //不正确,如果用在方法中会出错,如:
function foo(){
var a = b = 1;
}
foo();
console.log(typeof a ); //'undefined'
console.log(typeof b ); //'num'
3.try...catch...finally: try后面必须有catch或者finally。
嵌套:注意执行的顺序:
4.函数语句
1)function fd(){//dosth ;return;} 函数声明
2)var fe = function(){//dosth} 函数表达式
以上两种区别在于function声明会被优先处理,即函数前置;所以在定义function前调用fd()可以成功,函数表达式则不可以
3)for in (例:for name in obj)
(1)顺序不确定,不能用遍历的方法
(2)对象的enumerable为false时不会在里面出现
(3)受原型链影响
4)switch
如果不写break,就会继续往下走。
5)循环语句(略)
6)with 可以修改当前的作用域,可以深层访问对象属性。如:
with({x:1}){console.log(x);}
with(document.forms[0]){console.log(name.value);} ==>var form = document.forms[0];console.log(form.name.value);
让JS引擎优化更难,可读性差,可被变量定义代替,严格模式下被禁用。(syntaxerror)
5.严格模式
是一种特殊的执行模式,它修复了部分语言上的不足,提供更强的错误检查,并增强安全性。
进入严格模式:'use strict' 可以是方法里,也可以是整个文档的开头,不一定非要写在第一行,可以在前面写其他的命令,但是不能写var之类。
1)不允许未声明的变量赋值。比如:x=1 只能写成 var x = 1。(refferenceerror)
2)arguments变为参数的静态副本(如果修改属性还是会相互影响)
3)delete参数、函数名报错。(syntaxerror)
4)delete不可配置的属性(如:configurable:false)报错 。(typeerror)
5)对象字面量重复属性名报错。(syntaxerror)
6)禁止八进制字面量。如:console.log(0123)。(syntaxerror)
7)eval,arguments变为关键字,不能作为变量、函数名。(syntaxerror)
8)eval 独立作用域。(undefined)
……
3、JS中的语句的更多相关文章
-
js中退出语句break,continue和return 比较
js中退出语句break,continue和return 比较 在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是 ...
-
js中退出语句break,continue和return 比较(转)
原链接:http://blog.163.com/ued_er/blog/static/199703159201210283107315/ js中退出语句break,continue和return 比较 ...
-
js中特有语句-with
<script type="text/javascript"> /* *为了简化对象调用内容的书写. *可以用js中的特有语句with来完成. *格式 *with{ * ...
-
js中退出语句break,continue和return 比较 (转载)
在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 首先:break和continue两个一 ...
-
js中if语句的几种优化代码写法
UglifyJS是一个对javascript进行压缩和美化的工具,在它的文档说明中,我看到了几种关于if语句优化的方法. 一.使用常见的三元操作符 复制代码 代码如下: if (foo) bar(); ...
-
js中退出语句break,continue和return 比较 (转)
在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 首先:break和continue两个一 ...
-
js中哪些语句在if语句中默认为真
结论:js中有一个函数是:Boolean(value)这个函数把一个value值转换成相应的boolean值. 当value为以下值是为true:1.任意的非空字符串 .2.任意的非0数字 而当val ...
-
js中的语句
java语句与js的语句一样.1.判断if else/switch <script type=text/javascript> function fun1(){ var num = 10; ...
-
js中switch语句不执行
参考http://www.jb51.net/article/54393.htm switch语句与if语句的关系最为密切,也是其它编程语言中普遍使用的一种流程控制语句,但switch的匹配是全等模式, ...
随机推荐
-
修改Django的默认打印时间
环境 Django版本:1.10 前言 默认情况下,Django会把日期按照“月份 天数, 年”的格式打印,比如2003年2月4日会打印成“Feb. 4, 2003”,这种格式对于西方人来说很好看,但 ...
-
PythonCrawl自学日志(4)
2016年9月22日10:34:02一.Selector1.如何构建(1)text构建: body = '<html><body><span>good</sp ...
-
【从零学习openCV】IOS7根据人脸检测
前言: 人脸检測与识别一直是计算机视觉领域一大热门研究方向,并且也从安全监控等工业级的应用扩展到了手机移动端的app.总之随着人脸识别技术获得突破,其应用前景和市场价值都是不可估量的,眼下在学习ope ...
-
ftk学习记录(形成全屏幕套件)
[声明:版权全部.欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 好久不写博客了.今天续上. 可是,我们还是看一下上一期的执行结果, watermark/2/te ...
-
SpriteBuilder中粒子发射器的reset on visibility toggle选项解释
如果选中该选择框,表示粒子发射器将删除所有已存在的粒子当它们的可见状态被代码改变的时候. 如果该选择框没有选中,则发射器将保持产生粒子但不渲染它们(意思是有但你看不到)当它们的可视状态为NO的时候. ...
-
Excel uploading date format
if l_wa_field-value eq 'ZFIRST_REQ_DATE'. clear lv_length. lv_length = strlen( l_wa_excel-value ). c ...
-
移动端H5混合开发,Touch触控,拖拽,长按, 滑屏 实现方案
概述 近期由于产品快速原型开发的需要,不想用原声的方式开发App两端一起搞时间来不及,目前产品处于大量上feature的阶段,采用混合开发是最合适的选择,所以花了3天的时间研究怎么去实现移动端,拖拽, ...
- requestAnimationFrame结束demo
-
WIN10-修改网卡MAC
在注册表位置: 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002 ...
-
codeforces 578b//";Or"; Game// Codeforces Round #320 (Div. 1)
题意:n个数字,最多操作k次,每次乘x,要使结果数组的与值最大. 能推断出结果是对一个元素操作k次,并且这个元素的二进制最高位比较大.并不一定是取最大的,比如1100和1010,乘以一次2,两种选法分 ...