var a=new Array();
a[0]=2;
a[0].x=1;
alert(a[0].x)//显示undefined
var a=new Array();
a[0]=new Number(2);
a[0].x=1;//或者a[0].x=new Number(1);
alert(a[0].x)//显示1javascript不是完全面向对象么?
a[0]=2;
a[0].x=1;
alert(a[0].x)//显示undefined
var a=new Array();
a[0]=new Number(2);
a[0].x=1;//或者a[0].x=new Number(1);
alert(a[0].x)//显示1javascript不是完全面向对象么?
解决方案 »
- 如何确认$(window).resize()已完成?
- 关于event.preventDefault();
- jquery的filetree怎样才能自动收起节点?
- 怎样获取下拉列表中value的值?
- ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●这个正则 少了个+ 怎么差这么多???????????????????
- 同样一个函数,在页面里面声明,没有问题,把它放在外面的独立文件就不能用了
- 如果获得一个div的宽高
- 请问那里可以找到学习javascript的网站!
- 急!急!如何提交非当前窗口的页面?
- 简单的表格变色问题,在线等
- 向一个函数传递很大(应该不会超过1M)的字符串的时候会出现效率问题么?使用全局变量能将效率提高多少?
- 【求助】我用js封装的json文本怎么才能通过EL表达式将里面的值放到页面的表格中?
a[0]=2
alert(typeof a[0])/////number
a[0]=new Number(2);
alert(typeof a[0])//object
a[0].x=1;
alert(a[0].x)类型不一样,知道了吧。。直接复制是值类型,new是引用类型,object,object才有自定义属性
为什么值类型不可以有自定义属性
因为
1)你很难区分 这个是小数点 还是 对象属性点
1.1 这里的点是小数点
1.x 这里的点是?对象子属性符号?上面是 联想 呵呵主要是 和性能有关把
( 是直接看我手上有多少钱 还是用手从裤兜里拿出钱看我有多少钱?)对象类型的话 是一个复杂嵌套结构 对于对象的引用是需要指针的
值类型就是一个简单的结构 值的引用? 引用本身就是值如果 变量a 是一个(指向一个) object 那么 a的实际值 是一个数字 这个数字代表 一个地址 这个地址开始才是这个object的存放位置如果 变量a 是一个 数字 那么 a的实际值 就是这个数字(这个情况下没办法添加子属性 要么a变成一个对象 好吧那么数值计算的性能又麻烦了)