JSz中的静态方法和实例方法的分析
我又回来了,最近忙着喝枸杞,没来写博客感觉很有负罪感,今晚我来写一点小小的知识点
可能我们在用形如Array.of()的方法时会产生一些疑问,为什么我们能不实例化直接使用Array上的of()方法呢,其实原理很简单,就是of()方法时Array的静态方法,所以我们才能直接Array.of()来使用
可能我这个表述不是很清楚,没事,下面我们来通过一个栗子来看一下到底是怎么回事
//首先我们来模拟一个Array的构造函数
function newArray(){}
//再给这个构造函数原型对象上添加方法
newArray.prototype.shiyan = function(){
console.log("我是实验函数")
} // 现在我们这样调用的时候
newArray.shiyan();
这木写函数用形如Array.of()调用的时候会报一个错误
这样显然不符合我们想做成Array.of()这种调用方式的要求,别急,我们来试试另一种方法
静态函数:
//首先我们来模拟一个Array的构造函数
function newArray(){} //我们现在不再去给构造函数的原型对象上添加方法
// 而是给构造函数上添加静态方法
newArray.of=function(){
console.log("我是构造函数的静态方法");
} //现在我们再来试试能不能通过类似于Array.of()方法调用
newArray.of();
我们可以看到现在我们能通过形如Array.of()调用到方法了,真的是美滋滋。
好了,今天先就这样吧,大家下次见
JSz中的静态方法和实例方法的分析的更多相关文章
- JQ也要面向对象~在JQ中扩展静态方法和实例方法(jq扩展方法)
JQ也要面向对象,事实上,无论哪种开发语言,在开发功能时,都要把面向对象拿出来,用它的思想去干事,去理解事,面向对象会使问题简单化,清晰化,今天说两个概念“静态方法”与“实现方法”,这个在面向对象的语 ...
- Java中的静态方法和实例方法的调用的理解(不同的类下的方法调用)
public class MethodCall { public static void main(String[] args) { Test.sayStatic(); Test test = new ...
- javascript中静态方法、实例方法、内部方法和原型的一点见解
1.静态方法的定义 var BaseClass = function() {}; // var BaseClass=new Function(); BaseClass.f1 = function(){ ...
- (转)关于python3中staticmethod(静态方法)classmethod(类方法)实例方法的联系和区别
原文:http://dmcoders.com/2017/08/30/pythonclass/ https://zhuanlan.zhihu.com/p/28010894------正确理解Python ...
- Objective-C 关于静态方法与实例方法的转载
objective-c中非常重要的语法知识,在此归纳总结一下. 类方法,也称静态方法,指的是用static关键字修饰的方法.此方法属类本身的方法,不属于类的某一个实例(对象).类方法中不可直接使用实例 ...
- 【Java初探外篇02】——关于静态方法与实例方法
在Java的学习中,我们知道,方法的使用是不可或缺的重要部分,在我们编写第一个Java程序hello world的时候,我们就要开始使用主方法main():它就是一个静态方法(static metho ...
- Objective-C 关于静态方法与实例方法
objective-c中非常重要的语法知识,在此归纳总结一下. 类方法,也称静态方法,指的是用static关键字修饰的方法.此方法属类本身的方法,不属于类的某一个实例(对象).类方法中不可直接使用实例 ...
- java 静态方法和实例方法的区别(转)
静态方法和实例方法的区别主要体现在两个方面: 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式.而实例方法只有后面这 ...
- java 静态方法和实例方法的区别
转自 java 静态方法和实例方法的区别 静态方法和实例方法的区别主要体现在两个方面: 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法 ...
随机推荐
- VBA操作word生成sql语句
项目开始一般都是用word保存下数据库的文档 但是从表单一个一个的建表实在是很困难乏味,查查资料 1.可以生成一个html或者xml,检索结构生成sql.但是这个方式也蛮麻烦 2.查到vba可以操作w ...
- Java 基础笔记
1. 面向对象三大特性:封装,继承,多态,java面向对象的最终父类是:Object 2. getInstance() 单实例设计模式factory() 工厂模式build() 建造者模式 3. 静态 ...
- postgresql-int,bigint,numeric效率测试
在postgresql9.5的时候做过一个测试就是sum()的效率最终的测试结果是sum(int)>sum(numeric)>sum(bigint)当时比较诧异为啥sum(bigint)效 ...
- vue项目警告There are multiple modules with names that only differ in casing
执行npm run dev后出现了警告提示: warning in ./src/components/Public/yearSelectCell.vue There are multiple modu ...
- Dev Label显示不同颜色字体
labelControl1.Text = "<size=14>Size = 14<br>" + "<b>Bold</b> ...
- 设置JVM参数的几种方式解决java.lang.OutOfMemoryError:Java heap space
一.首先给出查询当前JVM内存的代码: 下面是查询当前JVM 内存大小的代码,可以测试设置后JVM 的内存是否会变化.增加JVM 内存的配置项后,无需重新启动eclipse .具体的代码如下: pub ...
- vue使用代理实现开发阶段跨域
在config/index.js找到 proxyTable对象,添加键值对即可. "/api":{ target:"http://192.168.1.1", c ...
- Spring Boot 配置 IDEA&DevTools 自编译重启
MAVEN 配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="ht ...
- StreamSets学习系列之StreamSets支持多种安装方式【Core Tarball、Cloudera Parcel 、Full Tarball 、Full RPM 、Docker Image和Source Code 】(图文详解)
不多说,直接上干货! Streamsets的官网 https://streamsets.com/ 得到 https://streamsets.com/opensource/ StreamSets支持多 ...
- discuz 数据库文件密码修改
网站系统需要修改的位置有两处 Discuz 和 UC-center ①路径:/wwwroot/config/config_global.php 这个根据你网站安装的路径而定. 打开 config_gl ...