分享人:吴胜
目录
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
typeof ( 123 ) //Number
typeof ( 'abc' ) //String
typeof ( true ) //Boolean
typeof ( undefined ) //Undefined
typeof ( null ) //Object
typeof ( { } ) //Object
typeof ( [ ] ) //Object
typeof ( function (){} ) //Function
基本数据类型的值是不可变的
任何方法都无法改变一个基本类型的值
比如有一个字符串:
var s = "hello";
s.toUpperCase()//HELLO;
alert(s)//hello
var p = "change";
p.age = 29;
p.method = function(){alert(name)};
alert(p.age)//undefined
alert(p.method)//undefined
如果从一个变量向另一个变量赋值基本类型的值,会在变量对象上创建一个新值, 然后把该值复制到为新变量分配的位置上
var a = 10;
var b = a;
a++;
alert(a)//11
alert(b)//10
var person1 = 'abc';
var person2 = 'abc';
alert(person1 == person2); // true;
var person1 = 'abc';
var person2 = 'abcd';
alert(person1 == person2); // false;
var person1 = 1;
var person2 = true;
alert(person1 == person2); // true;
引用数据类型
引用类型的值是可以改变的
var a = [1,2,3];
a[0] = 0;//更改数组的一个元素
a[3] = 4;//给数组增加一个元素
alert(a);//0.2.3.4;
var person = {};
person.name = "change";
person.say = function(){alert("hello");}
alert(person.name)//change
alert(person.say)//function(){alert("hello");}
var a = {};
var b= a;
a.name = "change";
alert(a.name)//change;
alert(b.name)//change;
b.age = 29;
alert(a.age)//29
alert(b.age)//29
var person1 = {};
var person2 = {};
alert.log(person1 == person2)//false
感谢大家观看
BY : 吴胜