首页 技术 正文
技术 2022年11月14日
0 收藏 717 点赞 4,160 浏览 1138 个字

1.用var声明的变量是有作用域的,比如我们在函数中用var声明一个变量

1 'use strict';2 function num(){3   //用var声明一个变量num14    var num1 = 15;5 } 

函数中声明了一个变量num1,在js函数中用var声明变量实际上就声明了一个局部变量。局部变量就是在外部访问不到只能在函数内部访问。

1  'use strict';2  function num(){3    //用var声明一个变量num14     var num1 = 15;5  }6  alert(num1);//num1 is not defined

2.不在函数中定义变量的情况

 var num1 = 15;//var声明变量 alert(num1); function add(){    alert(num1+5); } add();

不在函数中定义的变量是全局变量,全局变量就是在任何地方都可以访问到

3.不使用var的情况

js允许变量不用声明就可以使用,不用var自动就是全局变量

num1 = 15;alert(num1);

*但你最好不要这样做,如果引入多个js文件里面都有一个不用var声明的全局变量会污染全局,bug也不容易排查。使用严格模式‘use strict’则可避免这种情况

‘use strict’;num1 = 15;//ReferenceError: num1 is not defined 会报错

4.两个函数内的变量互不影响

function num1(){    var age = 15;    alert(age);}num1()function num2(){    var age = 16;    alert(age);}num2();//16;

函数内嵌套:内部函数可以访问外部函数的变量,而外部函数访问不了内部函数

function num(){  var age =15;  function num1(){    var s = age+10;     alert(s);}    alert(s+2);//会报错}

如果是函数内的变量是重名的情况
function num(){    var age = 15;   function num1(){     var age =20;     alert(age);} alert(age);  num1();}num();

说明函数是从内而外查找的,当内部函数发现与外部函数重名就会自动屏蔽掉外部函数。

5.变量提升

变量可以先使用后声明

function num(){   y = 5;   alert(30+y);  var y;}num();

对于上述函数num()javascript引擎看到的是

function num(){ var y; y =5; alert(30+y);}

只能对变量提升,变量初始化不可以提升

function num(){   var y=5;   alert(y+x);   var x  = 30;}num();//NaN

要养成在函数中顶部先声明变量的好习惯!

(完

全局变量待更

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,023
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,513
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,360
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,143
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,774
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,852