JavaScript基础知识十五(原型链批量设置公有属性)

  function Fn(){
           this.x = 100;
       }
     /*  1.把原来原型指向的地址赋值给我们的pro,现在它们
       操作的是同一个内存空间*/
       var pro = Fn.prototype;
       pro.getA =function(){};
       pro.getB =function(){};
       pro.getC =function(){};
       /*2.重构原型的方式—>自己新开辟一个堆内存,存储我们公有的、
         属性和方法,把浏览器原来给Fn.prototype开辟的那个替换掉*/
       Fn.prototype ={
       // 只有浏览器天生给Fn.prototype开辟的堆内存里面才有constructor,而我们
       //  自己开辟的这个堆内存没有这个属性,这样constructor指向就不在是Fn而是
       //  Object了
       //   f.constructor 没做任何处理之前 Object
       //   为了和原来的保持一致,我们需要手动的增加 constructor 的指向
               constructor:Fn,
               prototype:Fn,
               getX =function(){},
               getY =function(){},
               getZ =function(){}
               };
       //  2、用这种方式 给内置类增加 这么好口爱公有的属性
        //   给内置类Arrary 增加数组去重的方法
       //`````````````````````````````````````````````````

       //我们这种方式会把之前已经存在于原型上的属性和方法给替换掉,所以我们中的
       //  这种方式修改内置类的话浏览器是给屏蔽掉的 不让你用
        // 但是我们可以一个个的修改内置的方法,当我们通过下述方式在数组的原型上增加方法
        // 如果方法名和原来的内置的重复,会把人家内置的修改掉-->我们以后再内置类的原型上
        //增加方法,命名都需要加特殊的前缀 myUnique
           Array.prototype = {
           constructor:Array,
           unique:function(){
           }
       };
时间: 2024-10-23 17:04:31

JavaScript基础知识十五(原型链批量设置公有属性)的相关文章

2.7原型链模式扩展-批量设置公有属性

重构原型对象的方式 function Fn(){ this.x = 100 } Fn.prototype = { constructor: Fn, a: function() {}, b:function(){}/;; } .var f1 = new Fn; 原文地址:https://www.cnblogs.com/z-dl/p/8929871.html

【javascript基础】4、原型与原型链

原文:[javascript基础]4.原型与原型链 前言 荒废了好几天,在宿舍闷了几天了,一直想着回家放松,什么也没搞,论文就让老师催吧.不过,闲的没事干的感觉真是不好,还是看看书,写写博客吧,今天和大家说说函数的原型. 原型是什么 第一次看到这个的时候,没太理解这个概念,其实也就是一个概念呗,没啥神秘的.书上说每个函数都有一个prototype属性(原型属性),这个属性是一个指针,指向一个对象(原型对象),这个对象包含这个函数创建的实例的共享属性和方法.也就是说原型对象中的属性和方法是所有实例

Javascript讲解系列之一 Prototype原型链

以前没有写博客的习惯,许多的技术积累都是自己稍微总结一下,很少共享,并非自私,而是工作比较忙,前几天接到一个电话面试不理想,才发现公司所用的DOJO并不被外面广泛接受,故而决定把自己所学分享出来,为夯实基础,也为与外界交流思想,形成一种渠道,如需联系,请发送至邮箱:[email protected]. 今天写Javascript系列之第一篇:Prototype原型链.在软件园里随便拉一个码农估计都会写JS,大部分也知道JS是基于原型的语言,但是如果问及JS原生对象(Object,Function

javascript基础学习(五)

javascript之函数 学习要点: 函数的介绍 函数的参数 函数的属性和方法 系统函数 一.函数的介绍 1.函数就是一段javascript代码.可以分为用户自定义函数和系统函数.   如果一个函数是javascript内置的函数,就称为系统函数.如果函数是自己编写的函数,就是自定义函数. 2.在javascript用function来定义一个函数.function 函数名(参数1,参数2,...){<语句块>  return 返回值} (PS:return语句可以省略) 3.函数的嵌套定

ASP.NET Core 2.2 基础知识(十六) SignalR 概述

原文:ASP.NET Core 2.2 基础知识(十六) SignalR 概述 我一直觉得学习的最好方法就是先让程序能够正常运行,才去学习他的原理,剖析他的细节. 就好像这个图: 所以,我们先跟着官方文档,创建一个 SignalR 应用: https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/signalr?view=aspnetcore-2.2&tabs=visual-studio 这个例子一共涉及到下面几个步骤: 自定义中心 ChatH

Javascript基础知识5

不要把相等运算符(==)与赋值运算符(=)搞混. 以&&运算符隔开的两个条件中的前者为错,则不会检测第二个条件的真假.利用这一点,可以提高脚本的速度. 使用带switch的多个条件 if(button=="next") window.location = "next.html"; else if(button=="previous") window.location = "pre.html"; else if(

javascript 基础知识

javascript 基础知识编程规范注释 //驼峰对象化编程 数据类型字符串.数字.布尔.数组.对象.Null.Undefined定义 var carname=new String; var x= new Number; var y= new Boolean; var cars= new Array; var person= new Object; 字符串 var word = "Hello World!"; 数字 var x1 = 34.00; //使用小数点来写 var x2 =

JavaScript基础知识梳理--数组

JavaScript基础知识梳理--数组 1.创建方法 空数组:var obj=new Array(); 指定长度数组: var obj=new Array( size ); 指定元素数组 :  var obj=new Array( 元素1,元素2,....): 单位数组:var obj=new Array[ 元素1,元素2,元素3,...,元素N]; 多维数组:var a=new Array( [数组1],[数组2],[数组3],...,[数组N] ); 2.基本操作 存取数组元素: 单维数组

(1)JavaScript基础知识

Javascript基础知识 1.如何使用JavaScript (1).通过<script></script>中直接编写 (2).通过<script src='目标文档的URL'></script>链接外部的Js文件 ① <script  src="URL" type="text/javascript" charset="utf-8"></script> (3).作为某个元素