jquery05 继承
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script src="jquery-2.0.3.js"></script> <script> //$.extend()
//$.fn.extend() //当只写一个对象自变量的时候,JQ中扩展插件的形式
$.extend({ //给jQuery类加静态方法
aaa : function(){
alert(1);
},
bbb : function(){
alert(2);
}
}); $.fn.extend({ //给jQuery对象加方法
aaa : function(){
alert(3);
},
bbb : function(){
alert(4);
}
});
$.aaa();//
$.bbb();//
$().aaa();//
$().bbb();// $.extend(); -> this -> $(jQuery类) -> this.aaa -> $.aaa()
$.fn.extend(); -> this -> $.fn(jQuery原型对象) -> this.aaa -> $().aaa()*/ //当写多个对象自变量的时候 , 后面的对象都是扩展到第一个对象身上
var a = {};
$.extend( a , { name : 'hello' } , { age : 30 } );
console.log( a );// { name : 'hello' , age : 30 } //浅拷贝:2个对象有一个改变另一个也改变,浅拷贝
var a = {};
var b = { name : 'hello' };
$.extend( a , b );
a.name = 'hi';
alert(b.name);//hello var a = {};
var b = { name : { age : 30 } };
$.extend( a , b );
a.name.age = 20;
alert( b.name.age );// //深拷贝:2个对象互不影响
var a = {};
var b = { name : { age : 30 } };
$.extend( true,a , b );
a.name.age = 20;
alert( b.name.age );// /*jQuery.extend = jQuery.fn.extend = function(){ 定义一些变量 if(){} 看是不是深拷贝情况 if(){} 看参数正确不 if(){} 看是不是插件情况 for(){ 可能有多个对象情况 if(){} 防止循环引用 if(){} 深拷贝
else if(){} 浅拷贝 } };*/ var a = {};
console.log( $.extend( a , { name : a } ) );
----------------------------------------------------------------------
var a = { name : { job : 'it' } };
var b = { name : {age : 30} }; $.extend( true , a , b ); console.log( a );//{ name : { job : 'it' ,age : 30} }; JQ中 : 拷贝继承 : 构造函数的原型 JS : 类式继承 / 原型继承 new 构造函数 / {} </script>
</head> <body>
</body>
</html>
jquery05 继承的更多相关文章
- javaScript的原型继承与多态性
1.prototype 我们可以简单的把prototype看做是一个模版,新创建的自定义对象都是这个模版(prototype)的一个拷贝 (实际上不是拷贝而是链接,只不过这种链接是不可见,给人们的感觉 ...
- JavaScript的继承实现方式
1.使用call或apply方法,将父对象的构造函数绑定在子对象上 function A(){ this.name = 'json'; } function B(){ A.call(this); } ...
- javascript中的继承与深度拷贝
前言 本篇适合前端新人,下面开始...... 对于前端新手来说(比如博主),每当对js的对象做操作时,都是一种痛苦,原因就是在于对象的赋值是引用的传递,并非值的传递,虽然看上去后者赋值给了前者,他们就 ...
- 谈谈一些有趣的CSS题目(四)-- 从倒影说起,谈谈 CSS 继承 inherit
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- JS继承类相关试题
题目一: //有关于原型继承的代码如下:function Person(name) { this.name = name;}Person.prototype = { getName : f ...
- JS继承之寄生类继承
原型式继承 其原理就是借助原型,可以基于已有的对象创建新对象.节省了创建自定义类型这一步(虽然觉得这样没什么意义). 模型 function object(o){ function W(){ } W. ...
- JS继承之借用构造函数继承和组合继承
根据少一点套路,多一点真诚这个原则,继续学习. 借用构造函数继承 在解决原型中包含引用类型值所带来问题的过程中,开发人员开始使用一种叫做借用构造函数(constructor stealing)的技术( ...
- JS继承之原型继承
许多OO语言都支持两种继承方式:接口继承和实现继承.接口继承只继承方法签名,而实现继承则继承实际的方法.如前所述,由于函数没有签名,在ECMAScript中无法实现接口继承.ECMAScript只支 ...
- 深入浅出JavaScript之原型链&继承
Javascript语言的继承机制,它没有"子类"和"父类"的概念,也没有"类"(class)和"实例"(instanc ...
随机推荐
- 手机验证 发送验证码倒计时js
html: <input name="Tel" class="weui-input" type="tel" placeholder=& ...
- Tuples as return values
Strictly speaking, a function can only return one value, but if the value is a tuple, the effect is ...
- CMake入门之创建一个基于PCL的最小工程
最近在学习PCL,借助Cmake可省去繁琐的添加包含目录和依赖库操作. 一个典型的CMakeLists.txt内容通常为: cmake_minimum_required(VERSION 2.6 FAT ...
- salt的grains
grains作用: 1.匹配 minion 2.收集信息 (每次重启minion才会收集) grains 数据存储在minion端. salt '*' grains.ls salt '*' grain ...
- Signal programming
Signal programming is used in the same sense as dataflow programming, and is similar to event-driven ...
- [BeiJing2009 WinterCamp]取石子游戏 Nim SG 函数
Code: #include<cstdio> #include<algorithm> #include<cstring> using namespace std; ...
- 我的投资案例(3)-看好互联网和金融两大朝阳行业,参投入股垂直金融招聘平台"职业梦CareerDream.cn"
作为一名喜欢读书,关注中国和欧美国家发展的知识青年, 同时作为一名程序员和对金融投资感兴趣的业余爱好者,本人一直看好 以IT互联网为代表的科技和以投资VC为代表的金融,这2大朝阳行业的发展. ...
- malloc()和free()的原理及实现
在C语言中只能通过malloc()和其派生的函数进行动态的申请内存,而实现的根本是通过系统调用实现的(在linux下是通过sbrk()系统调用实现). malloc()到底从哪里得到了内存空间?答案是 ...
- libvirt 部分API 介绍
感谢朋友支持本博客.欢迎共同探讨交流,因为能力和时间有限,错误之处在所难免,欢迎指正! 假设转载,请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...
- CCNP路由实验之九 路由策略
CCNP路由实验之九 路由策略 路由器在公布与接收路由信息时,可能须要实施一些策略.以便对路由信息进行过滤,比如仅仅接收或公布满足一定条件的路由信息. 一种路由协议可能须要引入其它的路由协议发现 ...