文档章节

Javascript 变量 var与不var的区别

hensemlee
 hensemlee
发布于 2015/06/17 14:50
字数 259
阅读 4
收藏 0

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删除,而变量不可以。

3.使用var 定义变量还会提升变量声明,即
使用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'

这就是使用var定义的变量的声明提前。

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


本文转载自:

共有 人打赏支持
hensemlee
粉丝 8
博文 64
码字总数 42691
作品 0
徐汇
程序员
《JavaScript权威指南》笔记(二)

第二篇笔记的内容主要涉及:数据类型转换,函数、对象、数组的创建以及null与undefined的比较。 1. javascript中类型转换的方法: (1)数字-->字符串: number+" "; String(number); number...

小微
2012/08/28
0
7
js与php在数组与对象之间的差异

摘要:js和php都是弱类型语言,他们都支持跨平台,然后数据在使用时,都不需要定义类型。有点类似于c++的函数模板,自动判断类型。但他们还是有挺多区别的,下面简单的介绍下js和php在数组与...

魏邪乎
2014/07/21
0
0
看JavaScript 一书中记的一些关键点

JS在执行时才确定值(变量在初始化) JS引擎在解析时会预编译对所有变量和函数预先处理,所以执行时变量与函数都可见 先声明,再引用,在JS最上面先声明好变量OR函数,下面再使用 所有的JS块都属于...

在山的那边
07/28
0
0
由浅入深JavaScript——变量和原始类型

JavaScript变量 JavaScript变量标识符 标识符 var + 变量名称来定义变量。 变量名称以字母,下划线,美元$符号开头,余下字符可以是字母,数字,下划线,美元符号。 eg: var name = 'hello'...

奇葩界张三
06/29
0
0
export, import 和 export default的区别

ES6的两个功能: export 和 import export 对外输出模块 import 引入(加载)进来一个模块 一、export => import 单个变量 在其他文件里引用 多个变量 引入 二、export default => import 其...

Js_Mei
08/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Swagger中配置了@ApiModelProperty的allowableValues属性但不显示的问题

现在用Swagger来生成API文档的例子已经非常多了,今天碰到开发同事问了一个问题,帮着看了一下,主要还是配置方法的问题,所以记录一下。如果您也碰到了同样的问题,希望本文对您有用。 问题...

程序猿DD
27分钟前
1
0
sql 命令

show variables like '%general%'; show variables like '%log_output%'; show variables like '%quer%'; show global status like '%slow%';...

JavaSon712
35分钟前
0
0
Django修改默认数据库引擎

Django默认数据库引擎为sqlite3,除了sqlite3,还支持postgresql、mysql、oracle 配置如下:其中postgresql_psycopg2为postgresql的适配器。 'django.db.backends.postgresql' 'django.db.bac......

MichaelShu
40分钟前
0
0
动画源码解析

目录介绍 1.Animation和Animator区别 2.Animation运行原理和源码分析 2.1 基本属性介绍 2.2 如何计算动画数据 2.3 什么是动画更新函数 2.4 动画数据如何存储 2.5 Animation的调用 3.Animator...

潇湘剑雨
46分钟前
2
0
Mac OS 最强鼠标改键软件:BetterAndBetter

官网: http://www.better365.cn 话不多说,先上你们最喜欢的软件界面截图。 通用: 触摸板: 鼠标: 键盘: 情景模式: 文本跳窗(自动跳窗): 四角触发: 工具箱: 脚本: 关于: 说下我目...

故国有明
今天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部