js中类定义函数时用prototype与不用的区别 原创 2017年06月05日 12:25:41 标签: 函数 / prototype / class   首先来看一个实例: function ListCommon2(first,second,third) { this.First=function () { alert("first do"+first); } } //不加prototype的情况 ListCommon2.do1=function(first) { // this.…
继续探讨js对象的prototype属性,前面已经看到在创建完一个对象之后,随时都会有一个_proto_属性伴随所有,那么,这个_proto_又是用来干嘛的,面试时问的高大上的原型链又是怎么回事? 拿出前面已经有的例子,如下: function Person(name){ this.name = name; this.interduceSelf= function(){ alert("my name is " + this.name); }; }; Person.prototype.i…
W3school上针对prototype属性是这么给出定义和用法的:使您有能力向对象添加属性和方法.再看w3school上给的那个实例,如下图: 仔细一看,原来最基本的作用就是对某些对象的属性.方法来扩展,我对这个实例又多写了几句代码进行测试,如下: var steve= new empolyee("Steve Jobs","enterpriser",1977); 这里我专门查看了steve这个实体所拥有的属性,发现多了一个salary属性,这个属性是新建实体时未曾…
既typeof之后的另一位老朋友! prototype也是我们的老朋友,即使不了解的人,也应该都听过它的大名.如果它还是您的新朋友,我估计您也是javascript的新朋友. 在咱们的第一节(深入理解js原型和闭包(1)——一切皆是对象)中说道,函数也是一种对象.他也是属性的集合,你也可以对函数进行自定义属性. 不用等咱们去试验,javascript自己就先做了表率,人家就默认的给函数一个属性——prototype.对,每个函数都有一个属性叫做prototype. 这个prototype的属性值…
一.前言                                大家先预计一下以下四个函数调用的结果吧! var test = function(){ console.log('hello world') return 'fsjohnhuang' }test.call() // ① Function.prototype.call(test) // ② Function.prototype.call.call(test) // ③ Function.prototype.call.call(…
===================================== 函数的柯里化与反柯里化 ===================================== [这是一篇比较久之前的总结了,若有错漏,请指正!] 柯里化 currying 维基百科的名词解释:柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术.这个技术由 Christopher Stra…
通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json方法10.extend方法11.类型判断的方法 数组方法集 Angela.array = { //# 数组方法 // index, 返回位置! 不存在则返回 -1: index: function (t, arr) { //# 返回当前值所在数组的位置 if (arr.indexOf) { return ar…
通用js函数集锦<来源于网络/自己>[一] 1.返回一个全地址2.cookie3.验证用户浏览器是否是微信浏览器4.验证用户浏览器是否是微博内置浏览器5.query string6.验证用户设备来源7.JS验证邮件地址是否合法8.JS获取字符串长度(区分中英文) 中文算2个字,英文一个9.检查手机号码是否合法10.验身份证号码是否正确11.删除cookie12.数组是否包函字符串元素13.后退14.向上滚动到指定位置15.判断是否为身份证16.判断是否为2~15字姓名17.修复IE中 inpu…
JS函数创建的过程: 1.新建Object对象F,类型设置为Function 2.设置F.__proto__ = Function.prototype 3.设置F.constructor = Function 4.新建Object对象temp(也就是后来的F.prototype),使temp.constuctor=F,完成函数创建 我只说了表象,复杂的内部实现,等以后再深究了.... 代码表示如下(借用大神代码): F = new Object(); //F.cons F.[[Class]] =…
最近一个面试官问了我一个函数节流的问题,然后感觉自己工作中遇到过这个问题,但是不知道这种形式就是函数节流.下面我来说下这个Js的高级问题,思路:函数节流就是防止用户高频调用某个事件而做的Js层面的处理方法.主要就是在一定时间内让用户的操作只执行一次指定方法. 代码实现(html): <!doctype html> <html> <head> </head> <body> <button id="clickme" valu…