基本类型值和引用类型值
来源:互联网 发布:javascript 廖雪峰 编辑:程序博客网 时间:2024/05/22 04:53
1. 值(value)—— 变量保存的值
2. 在js中值分两种 —— 基本类型和引用类型
3. 基本类型 —— Number, String, Boolean, Null, Undefined, Object
4. 引用类型 —— 变量指向栈中保存的Object对象的引用(指针)
5.基本类型值:
(1) 例子:
<script>
var num1 = 12;// 初始化
var num2 = num1;// num2复制num1的值,复制完成后,两者独立存在
alert(num2);// 输出
</script>
总结:六种类型都一样
(2) 例子:函数传值
<script>
funcion fun(num){
num += 10; // var num += 10; ----> 局部变量,只能在函数内部起作用;num += 10; ----> 全部变量,能被函数外部使用
return num;// 从某种角度理解,函数相当于能够处理某种功能变量,函数的return相当于value
}
var count = 10;
var func = fun(count);// 创建一个变量保存fun()函数,并把count的值复制给参数num
alert(fun);// //20
</script>
(3)例子:函数传值
<script>
function fun(obj){// obj指向局部对象
obj.name = "abc";// 用函数修改对象
}
var person = new Object();// 创建一个指向对象的变量
fun(person);// 按值传给obj
alert(person.name);// “abc”
alert(obj.name);// errorobj指向的是局部对象,函数执行完销毁 (不存在)
</script>
总结:按值传递相当于把一个变量所保存的值或指针一模一样地复制给另一个变量,变量之间不相互影响
6.引用类型值:
(1)例子:
<script>
var ob1 = new Object();// 创建一个对象,ob1指向该对象的指针
var ob2 = ob1;// ob2复制了ob1指向该对象的指针,完成后,两个变量指向同一个对象,用ob2增加或修改该对象,ob1可以表现出来
ob2.name = "abc";// 增加对象一个名为name的属性
ob2.name = "cba";// ob2再次添加名为name的属性
alert(ob1.name);// “abc” 输出对象属性
alert(ob1.name);// "cba"当ob2再次添加名为name的属性,相当于重写了对象名为name的属性的值(被覆盖)
总结:ob2引用了ob1指向对象的指针,相当于两个变量同时指向了一个对象,两个变量可以修改对象,同时两个变量会反映其中一个变量所修改的结果。
变量并没有保存对象,保存的是指向对象的指针,通过指针访问并修改对象。
- 基本类型值和引用类型值
- 基本类型和引用类型的值
- Javascript 中的引用类型和基本类型(值类型)
- 理解基本基本类型和引用类型的值
- javascript中基本类型值和引用类型值
- JS中基本类型值和引用类型值
- 基本类型传值和引用类型传值
- JavaScript中的基本类型值和引用类型值区别
- 基本类型和引用类型值传递的理解
- JS基本类型和引用类型的值
- JavaScript基本类型和引用类型的值
- 【Java】基本类型和引用类型(值传递)
- 4.1基本类型和引用类型的值
- 基本类型和引用类型
- 基本类型和引用类型
- 基本类型和引用类型
- 值类型和引用类型
- 值类型和引用类型
- python对文件的几大基本操作
- 二叉搜索树的最低公共祖先
- MongoDB语法与现有关系型数据库SQL语法比较
- XMPP协议的原理介绍
- CSDN博文精选:Android系列开发博客资源汇总
- 基本类型值和引用类型值
- HtmlEncode
- PHP 表单验证
- Openoffice+swfTools+flexPaper实现在线预览
- java.lang.IllegalStateException
- Asp.net学习——HTML语言
- Http和Socket连接区别
- MySQL on duplicate key update 的使用
- 启动Weblogic时遇到两个问题Management141266和javax.xml.stream.FactoryConfigurationError