原型对象用字面量赋值时需要注意将constructor指回原对象。<script> function Person(name , age){
this.name = name ;
this.age = age ;
this.say = function (){
return "name : "+ this.name + "age: "+this.age ;
} ;
} Person.prototype = {
address :"haerbin" ,
school:"哈工大"//,
//constructor:Person
} var p = new Person("z...
1function clone(obj)2{3if(typeof obj!=‘object‘){4return obj;5}6 7if(obj instanceof Array){8var arr=[];9for(var i=0; i<obj.length; i++){
10 arr[i]=clone(obj[i]);
11 }
12return arr;
13}
14elseif(obj.constructor==Object){
15var json={};
16for(var name in obj){
17 json[name]=clone(obj[name]);
18 }
19return json;
20}
21elseif(obj instanceof HTMLElement){
22return obj.cloneNode(t...
本文是JavaScript The Good Part 有关对象和继承的学习笔记。1. Object.create本函数是ECMAScript 5中的标准函数,其作用是用一个对象作为原型来生成另一个对象,可以用以下的code 模拟实现。 if(typeof Object.create !== ‘function‘) {Object.create = function(proto){var F = function(){};if(typeof proto !== ‘object‘){//Follow the chrome error pattern.thrownew TypeError(‘Object prototype may only be an Ob...
Object.defineProperty(obj, prop, descriptor)方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回这个对象。 const freezeObj = Object.freeze(obj), Object.freeze()方法可以冻结一个对象,冻结后,不能对象freezeObj添加新的属性,不能修改其已有属性的值,不能删除已有的属性,以及不能修改改对象已有属性的可枚举性、可配置性、可写性。 descriptor: configurable 可配置性,当且仅当该属性...
区别于Javascript脚本里的预先定义好的对象,宿主对象不是由Javascript语言本身提供的(内建对象)和用户自定义对象,它是由Javascript的运行环境(如web浏览器)提供的。这种Web提供的预定义对象我们称为宿主对象。
宿主对象主要包括From、Image、Element,Document、Windows(浏览器对象模型,BOM)原文:http://www.cnblogs.com/leitao166/p/3556104.html
JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。在 JavaScript 中,对象是拥有属性和方法的数据。属性和方法属性是与对象相关的值。方法是能够在对象上执行的动作。举例:汽车就是现实生活中的对象。汽车的属性:car.name=Fiatcar.model=500car.weight=850kgcar.color=white
汽车的方法:car.start()car.drive()car.brake()
汽车的属性包括名称、型号、重量、颜色等。所有汽车都有这些属性,但是每款车的属性...
因为前几天做了一个promise对象捕获错误的面试题目,所以这几天又重温了一下promise对象。现在借这道题来分享下一些很基础的知识点。下面是一个面试题目,三个promise对象捕获错误的例子,返回结果有什么不同。 //使用throw添加错误事件var p = new Promise(function(resolve, reject) {resolve("ok");thrownew Error(‘error0‘);//setTimeout(function() { throw new Error(‘error1‘) }, 0);});
p.then(function(value){consol...
javascript面向对象(二)1.创建对象:如下代码: var user = new Object(); user.name = "小花"; user.age = "20";用这样的方法创建对象比较简单直观,也是JavaScript种创建对象最基本的方法。但是这样就有一个问题,如果我们需要创建多个对象,那么我就得写很多重复的代码。比如我们想创建另一个对象user1,我们就得重新将上面的代码重新写一遍,这在实际开发过程中是不合适的,这样如果对象过多,代码量将大大增加。2.工厂...
作者: 阮一峰日期: 2010年5月24日这个系列的第一部分介绍了"封装",第二部分介绍了使用构造函数实现"继承"。今天是最后一个部分,介绍不使用构造函数实现"继承"。一、什么是"非构造函数"的继承?比如,现在有一个对象,叫做"中国人"。 var Chinese = { nation:‘中国‘ };还有一个对象,叫做"医生"。 var Doctor ={ career:‘医生‘ }请问怎样才能让"医生"去继承"中国人",也就是说,我怎样才能生成一...
<html>
<head><title>DOM对象</title><style type="text/css">table {border:1px solid green;border-collapse:collapse;width:300px;}td {padding:5px;border:1px solid green;font-size:16px;text-align:center;}table#tab {border:1px solid green;border-collapse:collapse;width:128px;}#tab td {border:1px solid green;padding:1px;}#tab td img {border:0; }</style><script type="text/javascript">function showMsg(id) ...
原文出处: 一线码农的博客 欢迎分享原创到伯乐头条一觉睡到中午,本来准备起来洗洗继续睡,不过想想没辙,还得继续这个系列,走过变量的第一站,第二站我们再来看看对象和数组。一:对象说起对象,我们不自然就想起了面向对象中自封装的一个类,同样JS中也是遵循这个守则,在web编程中几乎天天用到的就是JSON。是的,这就是一个对象,不过这个对象下面的字段都是字符串和值类型,如下图。12345vardelivery = { no: 1, ...
[From] http://www.jb51.net/article/44726.htm Javascript语言的设计不够严谨,很多地方一不小心就会出错。举例来说,请考虑以下情况。现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明。用自然语言描述的算法如下:复制代码代码如下:if (myObj不存在){ 声明myObj; }你可能会觉得,写出这段代码很容易。但是实际上,它涉及的语法问题,远比我们想象的复杂。Juriy Zaytsev指出,判断一个Javasc...
获取类型1. myString.charAt(num)返回在指定位置的字符。2. myString.charCodeAt(num)返回指定位置的字符的Unicode编码,这个返回值是 0 - 65535 之间的整数。3. String.fromCharCode()接受一个或多个指定的Unicode值,然后返回一个或多个字符串。查找类型 1. myString.indexOf("")返回某个指定的字符串,在字符串中首次出现的位置参数2 num 从那个位置开始查找2. myString.lastIndexOf()返回指定的字符串值最后出现的位置3. myStri...
前面的话 学习如何创建对象是理解面向对象编程的第一步,第二步是理解继承。开宗明义,继承是指在原有对象的基础上,略作修改,得到一个新的对象。javascript主要包括类式继承、原型继承和拷贝继承这三种继承方式。本文是javascript面向对象系列第三篇——实现继承的3种形式 类式继承 大多数面向对象的编程语言都支持类和类继承的特性,而JS却不支持这些特性,只能通过其他方法定义并关联多个相似的对象,如new和instanceof。...
原文章:https://wangdoc.com/javascript/index.htmlNavigator 对象,Screen 对象。window.navigator属性指向一个包含浏览器和系统信息的 Navigator 对象。脚本通过这个属性了解用户的环境信息。Navigator 对象的属性Navigator.userAgentnavigator.userAgent属性返回浏览器的 User Agent 字符串,表示浏览器的厂商和版本信息。下面是 Chrome 浏览器的userAgent。navigator.userAgent
// "Mozilla/5.0 (X11; Linux x86_64) AppleWeb...