博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript作用域
阅读量:4947 次
发布时间:2019-06-11

本文共 939 字,大约阅读时间需要 3 分钟。

我们知道Javascript中的变量是松散类型的,它的值和类型在脚本生命周期内都可以改变。Javascript变量可以保存两种不同类型的值:基本类型和引用类型

基本类型:简单的数据段

引用类型:多个值构造的对象

在将一个值赋给变量是,解析器必须确定这个是基本类型还是引用类型,引用类型是保存在内存中的对象,Javascript不允许直接访问内存位置,所以在操作对象时实际上是操作对象的引用而不是实际的对象,即是按引用访问的

引用类型的动态性 

对于引用类型,我们可以动态的为其添加属性和方法,而基本类型则不可这样操作

1     var person=new Object();2     person.name="Jack";3     alert(person.name);  //Jack

PS:这种方法对于基本类型是无效的

变量的赋值方式

①基本类型的赋值

把一个基本类型的值赋值给另一个变量,会在这个变量上面创建该值的副本,然后分配到新变量的位置,这个两个变量的值,完全独立,互不影响

②引用类型的赋值

把一个引用类型的值赋值给另一个变量,会将存储对象位置的指针赋值给新变量,这个两个变量实际引用了同一个对象,改变其中一个变量就会影响另一个变量

1     var obj1=new Object();2     var obj2=obj1;3     obj1.name="Jack";4     alert(obj2.name);  //Jack

函数参数的传递方式

 在Javascript中所有函数的参数都是按值传递的,在想参数传递值时,被传递的值会被赋值一个给局部变量,即命名参数,也就是arguments对象中的一个元素。当然对于引用类型,实际上赋值的对象的引用

下面看两个例子:

function add(num){          num+=100;        return num;    }    var count=50;    var result=add(count);    alert(count);    alert(result);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

         

转载于:https://www.cnblogs.com/tao-zi/p/4089340.html

你可能感兴趣的文章
python \r与\b的应用、光标的含义
查看>>
深拷贝 vs 浅拷贝 释放多次
查看>>
Java环境变量PATH和CLASSPATH
查看>>
ERROR:bokeh.core.validation.check:E-1001 (BAD_COLUMN_NAME) 就是补存在这个列名
查看>>
assert 的作用是什么?
查看>>
收藏夹(持续更新)
查看>>
iOS中的#import和class区别
查看>>
节约内存,请使用标签页管理工具:onetab、better onetab
查看>>
jQuery中的事件与动画
查看>>
页面加载骨架
查看>>
关于android系统不关屏设置
查看>>
SONY VPCS138EC降级安装XP
查看>>
[luogu4201][bzoj1063]设计路线【树形DP】
查看>>
手机抓包-手机劫持域名到指定服务器
查看>>
被放逐的皇后 金建云
查看>>
Javascript 有用参考函数
查看>>
点群的判别(三)
查看>>
gradle
查看>>
GNSS 使用DFT算法 能量损耗仿真
查看>>
常见的控制跳转的宏定义
查看>>