【JS】(+﹏+)~
1
var o = new Object()
var o = new Object // 如果没有参数,括号可以省略
2
this.init.apply(this, arguments) ???
// 创建类
var Class = function() {
var klass = function() {
this.init.apply(this, arguments)
}
klass.prototype.init = function() {}
return klass
} var Person = new Class()
Person.prototype.init = function() {
} var person = new Person()
what does this usage of apply() means in Javascript
;(function() {
var Klass = function(arg1, arg2, arg3) {
this.init(arg1, arg2, arg3)
}
Klass.prototype.init = function(arg1, arg2, arg3) {
console.log(arg1, arg2, arg3)
}
var klass = new Klass(1, 2, 3)
})()
;(function() {
var Klass = function() {
this.init.apply(this, arguments)
}
Klass.prototype.init = function() {
console.log(arguments[0], arguments[1], arguments[2])
}
var klass = new Klass(1, 2, 3)
})()
;(function() {
var Klass = function() {
this.init(arguments[0], arguments[1], arguments[2])
}
Klass.prototype.init = function() {
console.log(arguments[0], arguments[1], arguments[2])
}
var klass = new Klass(1, 2, 3)
})()
3
/**
* 当你读取一个对象的属性时,JS首先会在本地对象中查找这个属性,
* 如果没有找到,JS开始在对象的原型中查找,
* 仍未找到还会继续查找原型的原型,
* 直到查找到Object。prototype
* 如果找到这个属性,则返回这个值,否则返回undefined
*/
var Person = function() {
this.say = function() {
console.log('e')
}
}
Person.prototype.say = function() {
console.log('ee')
}
new Person().say() // e
【JS】(+﹏+)~的更多相关文章
- 【js】appendChild
appendChild主要是用来追加节点插入到最后:循环的时候由于不停的搬家导致length在改变. 使用for循环 <!Doctype html> <html xmlns= ...
- 【JS】AJAX跨域-被调用方与调用方解决方案(二)
解决跨域问题 跨域问题说明,参考[JS]AJAX跨域-JSONP解决方案(一) 实例,使用上一章([JS]AJAX跨域-JSONP解决方案(一))的实例 解决方案三(被调用方支持跨域-服务端代码解决) ...
- 【js】Leetcode每日一题-制作m束花所需的最少天数
[js]Leetcode每日一题-制作m束花所需的最少天数 [题目描述] 给你一个整数数组 bloomDay,以及两个整数 m 和 k . 现需要制作 m 束花.制作花束时,需要使用花园中 相邻的 k ...
- 【js】Leetcode每日一题-完成所有工作的最短时间
[js]Leetcode每日一题-完成所有工作的最短时间 [题目描述] 给你一个整数数组 jobs ,其中 jobs[i] 是完成第 i 项工作要花费的时间. 请你将这些工作分配给 k 位工人.所有工 ...
- 【js】Leetcode每日一题-数组异或操作
[js]Leetcode每日一题-数组异或操作 [题目描述] 给你两个整数,n 和 start . 数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == ...
- 【js】Leetcode每日一题-解码异或后数组
[js]Leetcode每日一题-解码异或后数组 [题目描述] 未知 整数数组 arr 由 n 个非负整数组成. 经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encode ...
- 【js】Leetcode每日一题-叶子相似的树
[js]Leetcode每日一题-叶子相似的树 [题目描述] 请考虑一棵二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 . 举个例子,如上图所示,给定一棵叶值序列为 (6, 7 ...
- 【js】Leetcode每日一题-子数组异或查询
[js]Leetcode每日一题-子数组异或查询 [题目描述] 有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]. 对于每个查询 i ...
- 【js】Leetcode每日一题-停在原地的方案数
[js]Leetcode每日一题-停在原地的方案数 [题目描述] 有一个长度为 arrLen 的数组,开始有一个指针在索引 0 处. 每一步操作中,你可以将指针向左或向右移动 1 步,或者停在原地(指 ...
- 【js】Leetcode每日一题-二叉树的堂兄弟节点
[js]Leetcode每日一题-二叉树的堂兄弟节点 [题目描述] 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处. 如果二叉树的两个节点深度相同,但 父节点不 ...
随机推荐
- sendkeys && appactivate
sendkeys 用于输入键盘按键 appactivate 用于聚焦程序 on error resume next set ws = createObject("wscript.she ...
- phpcms 换域名
修改/caches/configs/system.php里面所有和域名有关的,把以前的老域名修改为新域名就可以了. 进行后台设置->站点管理 对相应的站点的域名进行修改. 更新系统缓存.点击 ...
- eAccelerator介绍
加速器 eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除. 它还有对脚本起优化作用,以加 ...
- php 这门语言
1,基本语法 php在解析一个文件时,会查找开始和结束标记,在开始标记和结束标记之外的会被php引擎忽略 注释:使用 // 和 /*这里是注释*/ 2,php 数据类型 整形 (2345) 浮点型(3 ...
- angularJs 使用中遇到的问题小结【一:关于传参】
我请教个问题 :我在界面传了一个参数<a ng-click="deleteOrder({{orderOrder}})" class="btn warning-btn ...
- 学习java随笔第九篇:java异常处理
在java中的异常处理和c#中的异常处理是一样的都是用try-catch语句. 基本语法如下 try { //此处是可能出现异常的代码 } catch(Exception e) { //此处是如果发生 ...
- C# DbHelperSQLite,SQLite数据库帮助类 (转载)
主要功能如下数据访问抽象基础类 主要是访问SQLite数据库主要实现如下功能 .数据访问基础类(基于SQLite),主要是用来访问SQLite数据库的. .得到最大值:是否存在:是否存在(基于SQLi ...
- Android30-Fragment-理解
Android30-Fragment-理解 规范 mobileSafe V2.0 欢迎页面 用户第一次是否需要用户提示 新闻类app的数据是怎么获取的 知乎提问?如何把身边资源最大化 第二种就 ...
- POJ 1631 Bridging signals(LIS O(nlogn)算法)
Bridging signals Description 'Oh no, they've done it again', cries the chief designer at the Waferla ...
- 忘记Mysql的root密码怎么办?
解决方法: 1.打开cmd,用net start命令查看是否开启了mysql服务,如果开启,用net stop mysql 命令关闭mysql 2.进入mysql的安装目录下的bin目录,例如:E:\ ...