zoukankan      html  css  js  c++  java
  • JavaScript语句

    JavaScript语句是JS解释器能够解释执行的代码单元,一般用分号分割。有副作用的表达式可以加上分号而构成一个语句。

    1、最简单的语句就是能产生副作用的表达式,如:赋值表达式(=,+=等等),自增自减表达式(++,--),加上分号,一般都可以作为语句。

    如:i++;i=7;是合法有效的表达式,但是没有副作用的表达式不成为一个语句,如3+5;

    2、delete操作符有副作用,也可作为语句,如delete obj.x;

    3、函数调用,也可以作为语句。如:alert("hello");window.close();这些客户端函数,可以对客户端产生副作用。没有副作用的函数调用,一般没必要作为语句使用,如Math.cos(12);//没用的语句。

    4、复合语句,用{}包含的语句,可以作为单个语句使用,可以使用在任何需要使用单个语句的地方。复合语句的大括号后面不需要分号结束。

    5、空语句,单独的一个分号,表示一个空语句。在需要单个语句的地方可以使用。例子:for(var i=0;i<arr.length;arr[i++]=0) ;//初始化一个数组。

    6、声明和定义语句,用来声明一个变量,或者定义一个函数。var i;function aa(x){return x*x;}

    7、条件,循环,跳转语句:if/else,while,for,for/in,do while,continue,break,label,switch/case,default

    8、return语句,throw语句,try/catch/finnally语句

    9、三个其他的语句:with语句,debugger语句,use strict语句

    1)with语句,作用类似vb中的with,应尽量避免使用。语法with(exp){statement;}

    2)debugger;//该语句调试使用,JavaScript解释器执行到该语句的时候,会暂停。

    3)"use strict";//确切说不是语句,而是指令。表示使用javaScript代码使用严格模式,该指令可以放在全局代码最前面,或者一个函数体的最前面,分别表示所有代码或者当前函数的代码使用的是严格模式。

    严格模式和非严格模式有很多区别(其中最重要的是前面三点):

    a.严格模式下,with语句是不允许的。

    b.严格模式下,所有变量必须声明。(否则抛出ReferenceError)

    c.严格模式下,函数以函数的方式调用的时候(不是以对象的方法调用),this表示的值为undefined,但是在非严格模式下,this表示的是global对象。因此判断代码是否是严格模式可以使用如下方法:

      var hasStrictMode = (function(){"use strict";return this===undefined;}());

    d.严格模式下,给你一个不可写的属性赋值,或者给你个不可扩展的对象新建属性,抛出TypeError

    e.严格模式下,在eval()里定义的变量和函数的作用范围,在eval结束是,也就消失了。

    还有许多其他的区别,不列举了。

  • 相关阅读:
    leetcode 47 Permutations II ----- java
    leetcode 46 Permutations ----- java
    leetcode 45 Jump Game II ---- java
    leetcode 44 Wildcard Matching ----java
    leetcode 43 Multiply Strings ----java
    leetcode 42 Trapping Rain Water ---java
    leetcode 41 First Missing Positive ---java
    leetcode 40 Combination Sum II --- java
    leetcode 39 Combination Sum --- java
    java 上下文切换
  • 原文地址:https://www.cnblogs.com/winson/p/3340703.html
Copyright © 2011-2022 走看看