实践一些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>

  

时间: 2024-09-07 11:24:22

实践一些js中的prototype, __proto__, constructor的相关文章

js中的prototype和constructor

1.js中只有对象,包括对象,函数,常量等. 对象不用解释.函数也有属性,常见之一就是prototype.常量也有属性: (3).__proto__;//Number {} 2.函数的prototype 函数是一种特殊的对象,它可以直接通过小括号来执行自身代码. 函数还有一个特殊的属性prototype,它也是一个对象. prototype对象也有一个特殊的属性constructor,初始的时候它是指向该函数的. 也就是当js解释到function关键字的时候,会创建两个对象,一个是functi

JavaScript中的prototype和constructor简明总结

 一直没弄清楚JavaScript中的prototype和constructor属性,今天看了看书,总算有点眉目了 一.constructor constructor的值是一个函数.在JavaScript中,除了null和undefined外的类型的值.数组.函数以及对象,都有一个constructor属性,constructor属性的值是这个值.数组.函数或者对象的构造函数.如:   代码如下:var a = 12, // 数字     b = 'str', // 字符串     c = fa

JS中的prototype

JS中的phototype是JS中比较难理解的一个部分   本文基于下面几个知识点:   1 原型法设计模式 在.Net中可以使用clone()来实现原型法 原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展.我们称B的原型为A.   2 javascript的方法可以分为三类: a 类方法 b 对象方法 c 原型方法 例子: function People(name) {  this.name=name;  //对象方法  this.Introduce

JavaScript中的prototype和constructor简明总结_基础知识

一.constructorconstructor的值是一个函数.在JavaScript中,除了null和undefined外的类型的值.数组.函数以及对象,都有一个constructor属性,constructor属性的值是这个值.数组.函数或者对象的构造函数.如: 复制代码 代码如下: var a = 12, // 数字    b = 'str', // 字符串    c = false, // 布尔值    d = [1, 'd', function() { return 5; }], //

js中Function.prototype.bind()方法详解

一. bind的语法 bind 是 ES5 中新增的一个方法,可以改变函数内部的this指向. 1.1 定义 bind()的定义如下: The bind() method creates a new function that, when called, has its this keyword set to the provided value, with a given sequence of arguments preceding any provided when the new fun

JS中的prototype与面向对象

 代码如下: <script language="javascript" type="text/javascript"> //(1)把一个方法变成一个对象,为对象创建方法和属性 var Name = function () { //通过prototype给一个对象创建方法 Name.prototype.Add = function (num, title) { } //也可以直接用this加方法名为对象创建方法和上面的等价 this.Way = func

new-js中的prototype使用的问题

问题描述 js中的prototype使用的问题 base.js var $ = function () { return new Base();} //创建一个数组,来保存获取的节点和节点数组*****************function Base() {}Base.prototype.elements = []; //创建一个数组,来保存获取的节点和节点数组****************function Base(){ this.elements = [];} //获取ID节点Base.

聊一聊JS中的prototype_javascript技巧

什么是prototype: function定义的对象有一个prototype属性,prototype属性又指向了一个prototype对象,注意prototype属性与prototype对象是两个不同的东西,要注意区别.在prototype对象中又有一个constructor属性,这个constructor属性同样指向一个constructor对象,而这个constructor对象恰恰就是这个function函数本身. //判断是否是数组 function isArray(obj) { ret

JS中match,charAt,charCodeAt,map,search用法分析

本文实例讲述了JS常见疑难点分析之match,charAt,charCodeAt,map,search用法.分享给大家供大家参考,具体如下: JavaScript match() 方法 定义和用法 match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配. 该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置. 语法 匹配字符串,返回指定的值 stringObject.match(searchvalue) 匹配正则,返回指定