测试JS基本类型以及对象的引用
自己敲的。
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基本类型以及对象的引用的更多相关文章
- 用浅/深拷贝、和HTML5方法解决js对象的引用的问题
先来看一个例子 例一: var a=[1,2,3]; var b=a; b.push(4); alert(b);//1,2,3,4 alert(a);//1,2,3,4 var a=[1,2,3]; ...
- js之数据类型(对象类型——构造器对象——数组1)
数组是值的有序集合,每个值叫做一个元素,而每一个元素在数组中有一个位置,以数字表示,称为索引.JavaScript数组是无类型的,数组元素可以是任意类型且同一个数组中不同元素也可能有不同的类型.数组的 ...
- js之数据类型(对象类型——构造器对象——对象)
JavaScript中除了原始类型,null,undefined之外就是对象了,对象是属性的集合,每个属性都是由键值对(值可以是原始值,比如说是数字,字符串,也可以是对象)构成的.对象又可分为构造器对 ...
- java关键字extends(继承)、Supe(父类引用空间)、 This(方法调用者对象)、Instanceof(实例类型-判断对象是否属于某个类)、final(最终)、abstract(抽象) 、interface(接口)0
java 继承使用关键字extends 继承的作用:减少代码量,优化代码 继承的使用注意点: 1子类不能继承父类的私有变量 2.子类不能继承父类的构造方法 3.子类在调用自己的构造方法时 会默认调 ...
- 基类中定义的虚函数在派生类中重新定义时,其函数原型,包括返回类型、函数名、参数个数、参数类型及参数的先后顺序,都必须与基类中的原型完全相同 but------> 可以返回派生类对象的引用或指针
您查询的关键词是:c++primer习题15.25 以下是该网页在北京时间 2016年07月15日 02:57:08 的快照: 如果打开速度慢,可以尝试快速版:如果想更新或删除快照,可以投诉快照. ...
- js基本类型存放和对象存放的区别(对象遍历)
js的基本类型,对象类型的应用在初学的时候,需要自己加以明确,明确了数据类型,在使用过程中才能正确使用变量.如下两个例子是摘自初学时的笔记,为大家提供参考. 1.对象可以存放属性和方法,js基本类型不 ...
- [IIS] 测试的产品登陆之后有个引用外部站点js的请求半天都无法返回,导致网页一直在打转,Selenium的driver也无法对页面进行下一步的操作
测试的产品登陆之后有个引用外部站点js的请求半天都无法返回: https://cdn.heapanalytics.com/js/heap-3497400264.js 这个js如果是在美国的机器上就可以 ...
- js之数据类型(对象类型——构造器对象——数组2)
一.数组空位与undefined 数组空位:数组的某一个位置没有任何值 产生空位的原因:数组中两个逗号之间不放任何值:用new Array()的方法,参数里是个数字:通过一个不存在的下标去增加数组:增 ...
- JS对象的引用,对象的拷贝
目录 一.场景 二.浅拷贝 三.深拷贝 一.场景 除了基本类型跟null,对象之间的赋值,只是将地址指向同一个,而不是真正意义上的拷贝 将一个对象赋值给另外一个对象. var a = [1,2,3]; ...
随机推荐
- 通过dbms_xplan.display_cursor识别低效的执行计划
dbms_xplan.display_cursor定义: function display_cursor(sql_id varchar2 default null, ...
- hdu4639Hehe
http://acm.hdu.edu.cn/showproblem.php?pid=4639 统计连续he的数量恰为斐波序列 不同块进行相乘 #include <iostream> #i ...
- 结构体 typedef struct hash_cell_struct hash_cell_t;
typedef struct hash_cell_struct hash_cell_t; struct hash_cell_struct{ void* node; /*!< hash chain ...
- JAVA高级特性 - 注解
注解是插入到代码中用于某种工具处理的标签.这些标签可以在源码层次上进行操作,或者可以处理编译器将其纳入到注解类文件中. 注解不会改变对程序的编译方式.Java编译器会对包含注解和不包含注解的代码生成相 ...
- [swustoj 679] Secret Code
Secret Code 问题描述 The Sarcophagus itself is locked by a secret numerical code. When somebody wants to ...
- 【持续更新】D3 的学习资料
经常有朋友问哪里有关于 D3 的比较好的学习资料,现整理成此文.以后找到更多更好的,会不断更新本文. 我是在2013年开始接触 D3 的,当时就觉得这个工具很好玩.至今,学习资料整理了不少.如果有朋友 ...
- Oracle Data Guard
DG 是 Oracle Data Guard 的简称.也就是Oracle11g的 数据卫士. 由于在工作中 Oracle和 SQL SERVER2008 同时都需要维护管理.给我的感觉这里的 DG 其 ...
- 多线程程序设计学习(12)Thread-soecific storage pattern
Thread-Specific-Storage[线程保管箱] 一:Thread-Specific Storage的参与者--->记录日志的线程(ClientThread)--->负责获取不 ...
- 转载crontab例行工作调度
转自:http://blog.sina.com.cn/s/blog_95ee143401017y70.html crontab [-e [UserName]|-l [UserName]|-r [Use ...
- lightoj 1224
很简单的Trie树,记录每个前缀的次数,dfs一次Trie即可 #include<set> #include<map> #include<list> #includ ...