今天看了一下js,加强javascript.资料来源于传智播客与网络。
做了一些记录,如下:
java 三大特性:封装、继承、多态。
js 也能将这三大特性体现的淋漓尽致。
js 对象也是一样的,一直做java,也一直使用js,但平时没注意。
其实这也就是面向对象的思想体现吧,不分语言,都有封装、集成、多态这三大特性,平常老说java 的三大特性,看来是有点受限制了。
原型属于构造器。
原型能干什么?
功能是将对象的属性延续下去。(继承)
原型通过内部的原型链来维护。
原型默认只有constructor属性。
Object 是原型链上最顶层的对象。(原型链)和属性有关
window作用域的最顶层对象(作用域链)。在执行环境中,与变量有关
原型集成,有一个弊端:只能有单继承。 php不支持多继承。
js 怎样实现多继承?
可以使用call()方法实现多继承。
jquery是怎么实现继承的?
jQuery.extend = jQuery.fn.extend = function(obj, prop) {
// 防止传入错误的参数prop;
if( argumnets.length > 1 && ( prop === null || prop == undefined)
return obj;
// 如果prop为空,则将obj扩展到自己身上,jQuery.js中大部分都是为空;
if( !prop ) {
prop = obj;
obj = this;
}
// 将prop的所有属性复制到obj;
for (var i in prop )
obj[ i ] = prop[ i ];
return obj;
}
json(JavaScript Object Notation)(对象表示法)
我们可以使用json格式的字符串,在应用之间传递数据(php==javascript)。
关于json的一个提问:
js1={"a1":"a1"、"a2":"a2"}
js2={"b1":"b1"、"b2":"b2"}
js1、js2为json对象
如何把js1中的对象和js2中的对象相加形成一个新的json对象?
回答:
function extend(destination, source) {
for (var property in source)
destination[property] = source[property];
return destination;
}
var js1={"a1":"a1", "a2":"a2"};
var js2={"b1":"b1", "b2":"b2"};
extend(js1, js2);
for(var j in js1) {
alert(js1[j]);
}
上面这个方法,什么对象都可以相加,主要是理解for...in的用法
分享到:
相关推荐
javascript中如何实现封装,继承和多态
javascript中如何实现封装,继承和多态,并有详细,我天天在传谢谢
JAVA面向对象基础测试题-继承-封装-多态等测试题.docx
javascript中如何实现封装,继承和多态,并有详细的示例.ppt
主要介绍了JavaScript 继承 封装 多态实现及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
学习Java程序入门-面向对象之封装,继承,多态(下).docx
前面我们讨论了如何在 JavaScript 语言中实现对私有实例成员、公有实例成员、私有静态成员、公有静态成员和静态类的封装。这次我们来讨论一下面向对象程序设计中的另外两个要素:继承与多态。
了解过面向对象的同学应该都知道,面向对象三个基本特征是:封装、继承、多态,但是对于这三个词具体可能不太了解。对于前端来讲接触最多的可能就是封装与继承,对于多态来说可能就不是那么了解了。 封装 在说封装之...
Javascript基于对象的三大特征和C++,Java面向对象的三大特征一样,都是封装(encapsulation)、继承(inheritance )和多态(polymorphism )。只不过实现的方式不同,其基本概念是差不多的。其实除三大特征之外,还有一...
主要介绍了JavaScript使用prototype原型实现的封装继承多态,涉及javascript prototype与面向对象程序设计相关操作技巧,需要的朋友可以参考下
我们都知道,面向对象的三大特征——封装、继承、多态。 封装无非就是属性和方法的私有化,所以我们JS中提供了私有属性和私有方法。 而JS中并没有多态,因此我们说JS是一门基于对象的语言,而非面向对象的语言。 ...
我们还知道,面向对象编程有三个重要的概念 - 封装、继承和多态。 但是在JavaScript的世界中,所有的这一切特性似乎都不存在。 因为JavaScript本身不是面向对象的语言,而是基于对象的语言。
面向对象语言三大特点:继承,多态,封装,这三点虽然Javascript没有提供天然的语法实现,但是我们都可以通过prototype等技巧来实现,因此这种说法似乎不过分。 在Javascript中,构造对象有三种方式: 1. 首先,我们...
本文实例讲述了JavaScript实现多态和继承的封装操作。分享给大家供大家参考,具体如下: 封装Encapsulation 如下代码,这就算是封装了 (function (windows, undefined) { var i = 0;//相对外部环境来说,这里的i就算...
1、js的简介JavaScript 是⼀种客户端脚本语⾔(脚本语⾔是⼀种轻量级的编程语⾔,语法和java类似。...(因为⾯向对象需要具有封装、继承、多态的特征)JavaScript语⾔中包含三个核⼼:ECMAScript基本语法、DOM、BOM....
既然是面向对象的,那就有面向对象的三大特征:封装、继承、多态。这里讲的是JavaScript的继承,其他两个容后再讲。 JavaScript的继承和C++的继承不大一样,C++的继承是基于类的,而JavaScript的继承是基于原型的。 ...