javascript 变量的注意事项
来源:互联网 发布:seo知否 编辑:程序博客网 时间:2024/05/01 09:12
JavaScript中定义变量时有无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 a = 'hello World';function bb(){ a = 'hello Bill'; console.log(a); }bb() //'hello Bill'console.log(a); //'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定义,就会报错。
JavaScript 中变量声明提升机制
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>JavaScript no.1</title></head><body> <h3>变量声明提升和函数内变量声明提升实例</h3> <script> if (a in window) { console.log('a已经存在');//结果输出a已经存在 }; var a=1;//变量声明提升 (function() { console.log(a);//函数内变量声明提升且覆盖函数外的同名变量,输出 undefined var a=2; })(); </script></body></html>
在JavaScript中所有在作用域中声明的变量会自动提升到该作用域的顶部
阅读全文
0 0
- javascript 变量的注意事项
- JavaScript变量注意事项
- 变量定义的注意事项
- 变量的注意事项
- javascript eval()的注意事项
- javaScript的注意事项
- javascript递归的注意事项
- Javascript开发的注意事项
- 使用指针变量的注意事项
- 定义属性变量的注意事项
- Java变量的使用注意事项
- 使用变量的一般注意事项
- 使用变量的一般注意事项
- Java使用变量的注意事项
- PHP调用javascript的注意事项
- 关于javascript的两点注意事项
- 编写Javascript时的注意事项
- JavaScript加法的一些注意事项
- android 调试技巧
- java基础篇-1
- Commands out of sync; you can't run this command now SQL
- 大数据日知录(一)数据分片与路由
- linux网络命令(1):ifconfig命令
- javascript 变量的注意事项
- Map转化成url拼接请求参数
- IDEA java项目中添加jar包
- 系统架构设计总结—软件架构风格
- Ubuntu下MPI的安装与配置
- 【《Real-Time Rendering 3rd》 提炼总结】(三) 第三章 · GPU渲染管线与可编程着色器 The Graphics Processing Unit
- 软件测试常见测试点
- SSH 保持连接
- 段错误