您的位置:首页 > Web前端 > JavaScript

测试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>

擦,地址忘了。叉了就忘了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: