zoukankan      html  css  js  c++  java
  • Javascript全局变量和delete

    首先看一段代码:

    // 定义三个全局变量
    var global_var = 1;
    global_novar = 2; // 反面教材
    (function () {
       global_fromfunc = 3; // 反面教材
    }());
    
    // 试图删除
    delete global_var; // false
    delete global_novar; // true
    delete global_fromfunc; // true
    
    // 测试该删除
    typeof global_var; // "number"
    typeof global_novar; // "undefined"
    typeof global_fromfunc; // "undefined"

    解释:

    隐式全局变量和明确定义的全局变量间有些小的差异,就是通过delete操作符让变量未定义的能力。

    • 通过var创建的全局变量(任何函数之外的程序中创建)是不能被删除的。
    • 无var创建的隐式全局变量(无视是否在函数中创建)是能被删除的。

    这表明,在技术上,隐式全局变量并不是真正的全局变量,但它们是全局对象的属性。属性是可以通过delete操作符删除的,而变量是不能的。

    在ES5严格模式下,未声明的变量(如在前面的代码片段中的两个反面教材)工作时会抛出一个错误。

  • 相关阅读:
    WebService发布到IIS
    MongDb的安装
    Linux shell编程— 命令替换
    Linux软件包管理
    Linux 管理进程
    Linux 中进程的管理
    JavaScript学习day3 (基本语法下)
    JavaScript学习day2 (基本语法上)
    JavaScript学习day1
    Python 学习
  • 原文地址:https://www.cnblogs.com/jiji262/p/3044306.html
Copyright © 2011-2022 走看看