JS高级---原型

原型

作用1 :节省空间,数据共享

function Person(name,age){
    this.name=name;
    this.age=age;
}//通过自定义构造函数来创建对象
Person.prototyp e.eat=function(){
    console.log("我爱js");
}//通过原型来添加方法
var p1=new Person("小明",20);
var p2=new Person("小红",30);
console.log(p1.eat==p2.eat);//true
  1. 构造函数,实例对象,原型对象总结

    • 通过构造函数来实例化对象
    • 构造函数中有一个属性叫做prototype,是构造函数的原型对象,并且这个原型对象中有一个构造器constructor,这个构造器就是指向自己所在的原型对象的构造函数
    • 实例对象的原型对象(proto)
  2. 通过原型和局部变量变全局变量来实现产生随机数对象
    <!DOCTYPE html>
    <html>
    <head>
     <title></title>
    </head>
    <body>
     <script>
         (function(win){
             function Random(){
    
             };//产生随机数的构造函数
    
             Random.prototype.getRandom=function(min,max){//向构造函数中添加方法
                 return Math.floor(Math.random()*(max-min)+min);//获得的随机数范围在min到max之间(包括min,不包括max)
             };
    
             win.Random=Random;//将构造函数Random赋予给window对象,变成全局对象
         })(window)//window是实参,win是形参
    
            //外部调用
         var ram=new Random();//实例化
         console.log(ram.getRandom(5,100));
     </script>
    </body>
    </html>

原文地址:https://www.cnblogs.com/upxiao/p/9751906.html

时间: 2024-08-01 22:21:03

JS高级---原型的相关文章

JS高级-----------------&gt;原型简单的写法(注意手动修改构造器的指向)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> function Student(name, age, sex) { this.name = name; this.age = age; this.sex

JS高级---原型的简单的语法

原型的简单的语法 构造函数,通过原型添加方法,以下语法,手动修改构造器的指向 实例化对象,并初始化,调用方法 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>title</title> <script> function Student(name, age, sex) { this.name

JS高级---原型和原型链

原型和原型链 原型链是一种关系, 实例对象和原型对象之间的关系,关系是通过实例对象中浏览器使用的原型(__proto__)来联系的 自定义构造函数,通过实例化,创建实例对象 实例对象中__proto__是原型,浏览器使用的 构造函数中的prototype是原型,程序员使用的 //使用对象---->使用对象中的属性和对象中的方法,使用对象就要先有构造函数 //构造函数 function Person(name,age) { //属性 this.name=name; this.age=age; //

JS高级---原型指向可以改变和原型链

原型指向可以改变和原型链 实例对象的原型__proto__指向的是该对象所在的构造函数的原型对象 构造函数的原型对象(prototype)指向如果改变了, 实例对象的原型(__proto__)指向也会发生改变 原型的指向是可以改变的 实例对象和原型对象之间的关系是通过__proto__原型来联系起来的,这个关系就是原型链 图示如下 代码观测console理解 //人的构造函数 function Person(age) { this.age=10; } //人的原型对象方法 Person.prot

第20篇 js高级知识---深入原型链

前面把js作用域和词法分析都说了下,今天把原型链说下,写这个文章费了点时间,因为这个东西有点抽象,想用语言表达出来不是很容易,我想写的文章不是简单的是官方的API的copy,而是对自己的知识探索和总结的过程,以及在这个过程碰到的问题都一一写出来,我想大多数人应该也有这个疑惑,然后带着疑惑去找答案,当你把这个疑惑解决之后,才觉得很有成就感.下面不多说了,开始说说什么是原型链.要想了解原型链,还是要从简单的开始,什么是原型?首先看下代码: function funcA() { this.show =

第十九篇 js高级知识---词法分析和AO 链

上面一篇文章说了js的作用域链,这一节算是对上面的延申,有一个典型的例子,首先看原来的一段代码: var name = "test"; function t() { var b = 1; if (b === 1) { var name = "test1"; } else { var name = "test2"; } console.log(name); } t(); 这段代码的结果是test1 这个肯定是没有什么问题了,但是如果把代码作如下修改

&lt;JS高级程序设计3&gt;_PART3

1.ECMAScript中所有数都以IEEE-754 64位格式存储,但位操作符不直接操作64位的值.是先64位转换成32位的整数,再操作,得到结果再转成64位. 2.首位是符号位.之后的31位代表整数的值. 3.用toString(2)打印二进制,得到的是被处理过的二进制. 4.按位非(NOT)~,数转成二进制,取反.相当于把操作数先变负再-1; 5.按位与(AND)&,两个数的二进制,有一个0结果就是0,两个都是1才为1. 6.按位或(OR)|,有一个1结果为1,都是0才为0. 7.按位异或

惰性函数——JS高级

原文地址:http://www.cnblogs.com/galenyip/p/4613430.html 我们先来看一下js的异步提交. XHR我们在原生的时候常常用到,因为常用到,我们更多把封装到了工具库中 先看下他最常用的实现 1 // 旧方法 2 3 function createXHR() { 4 var xhr; 5 try{ 6 xhr = new XMLHttpRequest(); 7 }catch(e) { 8 handleErr(e); 9 10 try { 11 xhr = n

&lt;JS高级程序设计3&gt;_PART4

1.基本数据类型:Undefined,null,Number,String,Boolean.引用数据类型:保存在内存中的对象. 2.JS不允许直接访问内存中的位置,不能直接操作对象的内存空间.所以操作对象时,实际上是操作的对象的引用,而不是实际的对象. 3. var num1 = 1; var num2 = num1; 一个基本类型的变量向另一个赋值时,执行了复制操作,两个变量互不影响. var obj1 = new Object(); var obj2 = obj1; obj1.age = 2