摘要:全局对象是比较特殊的对象。对象类型包括普通对象命名值的无序集合,特殊对象数组带编号值的有序集合,函数。基本数据类型是按值访问的,因为可以操作保存在变量中的实际值。不允许直接访问内存中的位置,也就是说不能直接操作对象的内存空间。
题目
javascript的数据类型分为两类: 原始类型 和对象类型(又基本类型和引用类型)
原始类型包括:String, Boolean, Number, null, undefined
(null和undefined是两个特殊的原始值,代表了各自特殊类型的唯一成员)
对象是属性和方法的集合,每个属性都由“名/值对”构成。全局对象是比较特殊的对象。
对象类型包括:普通对象(“命名值”的无序集合),特殊对象-数组(带编号值的有序集合),函数。基本数据类型是按值访问的,因为可以操作保存在变量中的实际值。
引用类型的值是保存在内存中的对象。JS不允许直接访问内存中的位置,也就是说不能直接操作对象的内存空间。在操作对象时,实际上是在操作对象的引用而不是实际的对象,为此,应用类型的值是按照引用访问的。
var a = {"x": 1}; //对象是引用类型,这里把对象{"x": 1}的引用地址赋值给变量a var b = a; //把a所引用的对象地址赋值给b,此时a和b指向同一个对象 a.x = 2; //把a所指向对象的属性x设置为2,此时该对象为{"x": 2} b.x; //由于a和b指向同一个对象,所以b.x = a.x = 2 a = {"x":3}; //这里重新对a进行赋值,把一个新对象{"x": 3}的引用地址赋值给变量a, //此时a指向这个新对象{"x": 3},而b仍然指向原来的对象{"x": 2} console.log(b.x); //这里输出2就顺理成章了
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/78179.html
摘要:系列题集系列题集系列题集系列题集系列题集系列题集系列题集随手记几个题目先,权当草稿,如果有朋友帮忙分析下原因,不胜感激,哈哈以前的文章地址是这样的格式,现在变了 从毕业开始切图接触前端,慢慢转向javascript开发...但是,感觉自己的javascript难当大任,基础薄弱。网上面试题集很多,设计HTML/CSS/JS,但其中的问题,如果不是自己亲历,没有被难住,是不会有太深印象的...
摘要:知道了这些知识看看上面的题目为什么结果是包装对象存取字符串,数字,布尔值的属性时创建用构造函数来创建的临时对象称作包装对象。 来自网络 var s=test;//创建字符串类型变量 s.len=4;//创建包装对象,为包装对象添加属性len //引用完毕,销毁包装对象 console.log(s.len);//创建包装对象,查找其len属性,没有找到,返回undefined ...
var foo = 1; function bar() { foo = 10; return; function foo() {}//声明提前 } bar(); console.log(foo); //为什么是1而不是10 http://segmentfault.com/q/1010000000598752
function bar() { return foo; foo = 10; function foo() {} var foo = 11; } console.log(typeof bar());//function 为什么不是number
var x = 3; var foo = { x: 2, baz: { x: 1, bar: function() { return this.x; } } } var go = foo.baz.bar; conso...
阅读 3241·2021-09-08 09:45
阅读 1222·2019-08-30 15:53
阅读 1482·2019-08-30 14:12
阅读 907·2019-08-29 17:01
阅读 2542·2019-08-29 15:35
阅读 372·2019-08-29 13:09
阅读 1915·2019-08-29 12:32
阅读 3070·2019-08-26 18:37