你的位置:首页 > 软件开发 > Java > 《JavaScript高级程序设计(第三版)》

《JavaScript高级程序设计(第三版)》

发布时间:2016-10-05 21:01:17
变量ECMAScript变量是松散类型的,即可以保存任何类型的数据。初始化变量不会把它标记类型,初始化的过程只是给变量付一个值,因此可以在修改变量的同时修改值的类型。但并不推荐这样做。var message ="hi";message =100;// 有效,但 ...

变量

  • ECMAScript变量是松散类型的,即可以保存任何类型的数据。
  • 初始化变量不会把它标记类型,初始化的过程只是给变量付一个值,因此可以在修改变量的同时修改值的类型。但并不推荐这样做。
  1. var message ="hi";
  2. message =100;// 有效,但不推荐
  • 使用var操作符定义的变量将称为定义该变量的作用域中的局部变量。也就是说,如果在函数中使用使用var定义一个变量,那么这个变量在函数推出后就会被销毁。例如:
  1. function test(){
  2. var message ="hi";// 局部变量
  3. }
  4. test();
  5. alert(message);// Uncaught ReferenceError: message is not defined(…)

如果像下面这样省略var操作符,那么可以创建一个全局变量:

  1. function test(){
  2. message ="hi";// 全局变量
  3. }
  4. test();
  5. alert(message);// "hi"

这样只要调用过一次test()函数,这个变量就有了定义,就可以在函数外部的任何地方被访问到。

虽然省略了var操作符可以定义全局变量,但这也不是我们推荐的做法。因为在局部作用域中定义的全局变量很难维护,而且如果有意地忽略了var操作符,也会由于相应变量不会马上就有定义而导致不必要的混乱。给未经声明的变量赋值在严格模式下会导致ReferenceError错误。

数据类型

  • ECMAScript中有5种简单数据类型(也称基本数据类型):Undefined、Null、Boolean、Number和String。还有1中复杂数据类型——Object,Object本质上是由一组无序的名值对组成。
  • 检测给定变量的数据类型——typeof就是负责提供这方面信息的操作符。对一个值使用typeof操作符可能返回下列某个字符串:
    • "undefined"——如果这个值未定义;
    • "boolean"——如果这个值是布尔值;
    • "string"——如果这个值是字符串;
    • "number"——如果这个值是数值;
    • "object"——如果这个值是对象或null;
    • "function"——如果这个值是函数。

      从技术角度讲,函数在ECMAScript中是对象,不是一种数据类型。然而,函数也确实有一些特殊的属性,因此通过typeof操作符来区分函数和其他对象是有必要的。

  • Undefined类型

    来自为知笔记(Wiz)


     

    海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

    原标题:《JavaScript高级程序设计(第三版)》

    关键词:JavaScript

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。