首页 > 代码库 > JavaScript03

JavaScript03

严格模式:不安全的操作将抛出错误。

“use strict”

ECMA-262的全部关键字

break do instanceof typeof case else new var catch finally return void continue for switch while debugger function this with default if throw delete in try

ECMA-262的保留字

abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger inplements protected volatile double import public let yield

var message=”a”;

message=100;//有效的,但是不推荐

虽然可以在修改变量值的同时修改变量的类型,但是这极容易让人混淆,且不易于理解。

function a(){var message=”a”;}

a();

alert(message);//错误的

上面的代码显然是不对的,但是下面的代码却是正确的,注意两者之间的区别

function b(){message=”b”;}

b();

alert(message);//是正确的

上面的这段代码是正确的,省略var操作符可以定义全局变量,但是这种做法不是我们推荐的做法。因为在局部作用域中定义的全局变量将非常难以维护。而且有意忽略var操作符,将会由于该变量没有被立刻定义二产生不必要的混乱。

给未经声明的变量赋值在严格模式下会导致抛出ReferenceError错误。

检测给定变量的数据类型:typeof

一般该操作会返回以下字符串:

  1. undefined//这个值没有定义
  2. boolean
  3. string
  4. number
  5. object//如果这个值是对象或null
  6. function//如果这个值是函数

JavaScript03