实践一些js中的prototype, __proto__, constructor

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<! DOCTYPE html>
< html >
< head >
     < title >ExtJs</ title >
         < meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
         < link rel="stylesheet" type="text/css" href="ExtJs/packages/ext-theme-crisp/build/resources/ext-theme-crisp-all.css">
       < script type="text/javascript" src="ExtJs/ext-all.js"></ script >
       < script type="text/javascript" src="ExtJs/bootstrap.js"></ script >
       < script type="text/javascript" src="ExtJs/packages/ext-theme-crisp/build/ext-theme-crisp.js"></ script >
</ head >
< body >
< script type="text/javascript">
   function Person(){
     this.name = 'hanzichi';
     this.age = 10;
   }
   var num = 0;
   for (var i in Person.prototype)
     num++;
   console.log(num);
 
   Person.prototype.show = function(){
     console.log(this.name);
   };
   Person.prototype.sex = 'male';
 
   var a = new Person();
   console.log(a.sex);
   a.show();
   console.log(a.__proto__ === Person.prototype);
   console.log(a.constructor === Person);
   console.log(Person.prototype.constructor === Person);
 
   console.log(Person.prototype);
   console.log(a);
 
   console.log('string'.constructor);
   console.log(new String('string').constructor);
   console.log(/hello/.constructor);
   console.log([1,2,3].constructor);
   function A() {}
   var a = new A()
   console.log(a.constructor);
 
   function Book(name){
     this.name = name;
   };
   Book.prototype.getName = function(){
     return this.name;
   };
   Book.prototype = {
     //constructor: Book,
     getPName: function(){
       return this.name;
     }
   };
   Book.prototype.constructor = Book;
   var b = new Book("ON THE WAY");
 
   console.log(b.constructor === Book);
   console.log(Book.prototype.constructor === Book);
   console.log(b.constructor.prototype.constructor == Book);
</ script >
< body >
   < div id="tpl-table">
     < div >员工信息</ div >
   </ div >
</ body >
</ html >

  

目录
相关文章
|
6月前
|
前端开发 JavaScript
【JavaScript原型链prototype详解】
在JavaScript中,每个对象都有一个原型(prototype)属性,它指向另一个对象。这个被指向的对象也有自己的原型,以此类推,最终形成了一个原型链。原型链的顶端是Object.prototype,它是所有对象的根原型。 当我们访问一个对象的属性时,如果该对象自身没有这个属性,JavaScript会沿着原型链向上查找,直到找到匹配的属性或者到达原型链的末端。
86 0
【JavaScript原型链prototype详解】
|
6月前
|
JavaScript 前端开发
CocosCreator 面试题(二)JavaScript中的prototype的理解
CocosCreator 面试题(二)JavaScript中的prototype的理解
151 0
|
4月前
|
JavaScript 索引
JS中数组的增删改查操作实践总结
JS中数组的增删改查操作实践总结
48 0
|
1月前
|
JavaScript
JS原型对象prototype
JS原型对象prototype
|
1月前
|
Web App开发 JavaScript 前端开发
深入浅出:Node.js 在后端开发中的应用与实践
【2月更文挑战第13天】本文旨在探讨Node.js这一流行的后端技术如何在现代Web开发中被应用以及它背后的核心优势。通过深入分析Node.js的非阻塞I/O模型、事件驱动机制和单线程特性,我们将揭示其在处理高并发场景下的高效性能。同时,结合实际开发案例,本文将展示如何利用Node.js构建高性能、可扩展的后端服务,以及在实际项目中遇到的挑战和解决方案。此外,我们还将讨论Node.js生态系统中的重要工具和库,如Express.js、Koa.js等,它们如何帮助开发者快速搭建和部署应用。通过本文的探讨,读者将获得对Node.js在后端开发中应用的深入理解,以及如何有效利用这一技术来提升开发效率
|
2月前
|
JavaScript 前端开发 UED
JavaScript中的事件委托机制及实践应用
事件委托是JavaScript中常用的性能优化技巧,通过将事件监听器绑定在父元素上,实现对子元素事件的统一管理,减少页面中事件处理函数的数量,提升页面性能。本文将介绍事件委托的原理和实践应用,帮助开发者更好地理解和运用这一技术。
|
2月前
|
Rust 前端开发 JavaScript
Rust与JavaScript的跨语言交互:探索与实践
本文旨在探讨Rust与JavaScript之间的跨语言交互方法。我们将深入了解WebAssembly(Wasm)的角色,以及它如何使得Rust与JavaScript能够在Web应用中和谐共处。此外,我们还将介绍Rust与JavaScript的集成方式,包括Rust编译到Wasm、使用wasm-bindgen进行Rust与JavaScript的绑定,并通过实际案例展示如何实现两者之间的交互。
|
3月前
|
开发框架 JavaScript 前端开发
深入探讨Vue.js核心技术及uni-app跨平台开发实践
深入探讨Vue.js核心技术及uni-app跨平台开发实践
48 0
|
4月前
|
JavaScript 前端开发
JavaScript基础知识:什么是原型链(Prototype Chain)?
JavaScript基础知识:什么是原型链(Prototype Chain)?
32 2
|
4月前
|
JavaScript 前端开发 Java
JavaScript难点:原型、原型链、继承、new、prototype和constructor
JavaScript 不像 Java、C++ 这种纯面向对象的语言,可以通过类实现继承,JavaScript中的继承是通过原型实现的,即使 ES6 中新增的 class 类也只是原型的语法糖而已
48 4