javascript变量与对象
来源:互联网 发布:怎么把程序烧进单片机 编辑:程序博客网 时间:2024/05/08 15:05
一、声明变量:
js声明变量的方式类似于java,但是js声明遍历不需要指定变量类型,这就是js的强大之处,他对数据类型处理起来很随意,也很方便。
例如:var a = 0; 这个a变量就是数值型的,var a = '0'; 这个a变量就是字符型的。
如果只声明变量,但是没有赋值如:var a; 那么a变量就是undefined类型的,输出结果也为'undefined'。
对于变量的重复声明并不会改变变量的值,如:var a = 123; var a ; print(a);结果还是123。
二、对象的引用:
我们看一下这个例子:
var a = {x:1,y:2};
var b=a;
b.x++;
print(a.x);
print(b.x);
输出结果:2
输出结果:2
为什么会这样呢,我只改了b为什么a也变了呢?其实程序是将{x:1,y:2}作为一个对象,var a = {x:1,y:2};是将对象的引用赋值给变量a,var b=a;是将变量a的值(对象的应用)赋值给b。这事a,b都指向{x:1,y:2}对象。b.x++也就是{x:1,y:2}中的x++。a,b指向同一个对象,所以出现了这样的输出结果。
解释:变量值没有变化(a,b存的都是变量的引用,可以理解为指向同一个内存地址),只是引用的对象值变了。
如果是直接赋值呢?
如:
var a = 1000;
var b = a;
b++;
print(a);
print(b);
输出结果:1000
输出结果:1001
大家可以看到如果不是对象的引用,不会出现上面描述的那种情况,也就没有指向同一个对象的说法了。
大家思考:
function swapab(a,b){
var temp = a;
a=b;
b=temp;
}
var one = 1;
var two = 2;
swapab(one,two);//此处是对象的引用吗?
print(one,two);
输出结果是什么?
- javascript变量与对象
- javascript 变量与对象的复制
- JavaScript 执行环境 与 变量对象
- JavaScript对象、函数、变量
- javascript变量对象
- 对象与对象变量
- Javascript:变量与数组
- javascript变量与数据类型
- JavaScript变量与常量
- Javascript 变量对象学习笔记
- JavaScript变量对象的深入
- JavaScript深入之变量对象
- 引用变量与对象
- 对象与变量
- javascript中的变量对象和活动对象
- 深入Javascript函数与闭包(执行环境、变量对象与作用域链)详解
- 深入Javascript函数与闭包(执行环境、变量对象与作用域链)使用详解
- Javascript静态变量与实例变量
- android底部弹窗的几种实现方式
- Python中如何保存json文件?
- 关于json传递中文出现乱码的解决方案
- mysql 触发器详解
- SharedPerference(轻量级存储)判定是否记住密码
- javascript变量与对象
- Python -- 内嵌函数 & closure(闭包) 浅析
- spring boot and spring data jpa
- 任务控制块
- nginx 设置多个tcp IP代理 socket 转发
- 最短路算法理解
- 用SharedPerference设计登录页面,可以选择是否记住密码
- Linux下的管道容量及其实现机制
- 关于NIO笔记(四):管道Pipe