zoukankan      html  css  js  c++  java
  • js 变量那些事

    1.js中定义变量问题,请问定义变量时有var关键字和没有var关键字有什么差别?

    1.在函数作用域内 加var定义的变量是局部变量,不加var定义的就成了全局变量。

    使用var定义
    var a = 'hello World';
    function bb(){
    var a = 'hello Bill';
    console.log(a);
    }
    bb() // 'hello Bill'
    console.log(a); // 'hello world'

    不使用var定义
    var e = 'hello world';
    function cc(){
    e = 'hello Bill';
    console.log(e); // 'hello Bill'
    }
    cc() // 'hello Bill'
    console.log(e) // 'hello Bill'
     
    2.在全局作用域下,使用var定义的变量不可以delete,没有var 定义的变量可以delete.也就说明隐含全局变量严格来说不是真正的变量,而是全局对象的属性,因为属性可以通过delete删除,而变量不可以。

    使用var定义:
    function hh(){
    console.log(a);
    var a = 'hello world';
    }
    hh() //undefined

    不使用var定义:
    function hh(){
    console.log(a);
    a = 'hello world';
    }
    hh() // 'a is not defined'
     
    3.使用var 定义变量还会提升变量声明


    4.在ES5的'use strict'模式下,如果变量没有使用var定义,就会报错。



    若有恒,何须三更睡五更起;最无益,莫过于一日曝十日寒
  • 相关阅读:
    vue实现简单的点击切换颜色
    Controller层注解详解
    分布式数据库系统的透明性概念
    utf8和utf8mb64的关系
    数据库设计的四个阶段
    IDEA自定义启动图
    编译过程划分
    Linux 之 CentOS 7 安装Tomcat9
    Linux 之 CentOS 7 安装JDK1.8
    Linux 之 CentOS 7安装MySQL5.7
  • 原文地址:https://www.cnblogs.com/21haoxingxiu/p/5959138.html
Copyright © 2011-2022 走看看