测试JS基本类型以及对象的引用
2013-07-24 23:51
525 查看
自己敲的。 1 <script src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.1.0/prototype.js" type="text/javascript"></script> <script type="text/javascript" language="javascript" charset="utf-8"> var a = new Number(5); var b = a; a = 6; console.info(b);//输出一个number对象 console.info(b.toString());//值为5 var c = 5; console.info(c);//直接打印5,那么这个是基本数据类型。 console.info(a == b);//false console.info(a === b);//false a = 5; console.info(a == b);//true,值相等,但确切说,不是同一个对象 console.info(a === b);//false a = 5; b = a; console.info(a == b);//true 现在是同一对象了 console.info(a === b);//true function Man(){ this.love = "爱"; } Man.prototype = { __proto__:new Man(),//不加这句的话,就不会有名字。Man对象的原型名就叫Man,但意思又是继承了Man,把Man中的属性弄成了,反正不要这样。 "name":"小王", "age":23, sex:"男" } var m = new Man();//打印的对象 //m.prototype.name = "小李";//m,实例无法更改原型属性 Man.prototype.name = "小李"; var m2 = m; m2.love="不爱"; console.info(m); console.info(m.love);//不爱,指向同一个对象。 console.info(m == m2);//true console.info(m === m2);//true function People(name,age,sex){ this.name = name; this.age = age; this.sex = sex; } var p = new People("小王",23,"男"); var p1 = new People("小王1",23,"男"); var p2 = p; console.info(p);//"小王",23,"男" console.info(p1);//"小王1",23,"男" console.info(p == p1);//false console.info(p === 1);//false console.info(p == p2);//true console.info(p === p2);//true var Animal = Class.create(); Animal.prototype = { constructor : Animal, //注意这句将修复constructor属性 initialize : function(name) { this.name = name; }, getName : function() { return this.name; }, setName : function(name) { this.name = name; } } var a = new Animal("小狗"); console.info(a); /** * $class //这是一个摘抄的,源地址在底部 * @param {String} className * @param {Function} superClass * @param {Function} classImp */ function $class(className, superClass, classImp){ if(superClass === "") superClass = Object; function clazz(){ if(typeof this.init == "function"){ this.init.apply(this, arguments); } } var p = clazz.prototype = new superClass(); var _super = superClass.prototype; window[className] = clazz; classImp.apply(p, [_super]); } $class('Zhiwu', '', function(){ // 构造函数 this.init = function(name){ this.name = name; }; // 方法体 this.getName = function(){ return this.name; }; this.setName = function(name){ this.name = name; }; }); var p = new Zhiwu('Jack'); console.log(p); console.log(p.constructor == Zhiwu); </script> 擦,地址忘了。叉了就忘了。
相关文章推荐
- js--3.对象-2.基本和引用数据类型
- 一道js题(引用类型、基本类型、包装对象、函数赋值)
- js 基本类型 引用类型 简单赋值 对象引用 底层原理分析
- js对象引用、基本类型、引用类型
- [ JS 进阶 ] 基本类型 引用类型 简单赋值 对象引用
- js基本类型 引用类型 简单赋值 对象引用
- js引用类型和基本类型、隐式类型转换以及强制类型转换面试题
- JS--我发现,原来你是这样的JS(引用类型不简单[下篇],基本包装类型与个体内置对象)
- js基本类型 引用类型 简单赋值 对象引用
- [ JS 进阶 ] 基本类型 引用类型 简单赋值 对象引用 (转)
- JavaScript中的引用类型(JS对象)(一)
- js学习笔记:基本类型和引用类型
- 黑马程序员—Java的String类以及Java基本数据类型对象包装类
- 基本数据类型的包装类型作为参数传递,以及其他引用类型作为参数传递,以及List中值的交换的一些问题
- H5---js有哪些内置对象?和介绍js的基本数据类型
- 【JS】The differences between 基本类型 and 引用类型
- js--引用类型单体内置对象--Math,随机数生成
- JS中的常量(基本数据类型)和内置对象
- JS基本数据类型和引用类型的参数传递详细分析
- JS 将变量 转化为字符串的方法, 适用于所有类型,数组, JSON对象,函数和基本类型等