用法:函式名.call(指定的this变数(参数))。
var myName = '真心镇大冒险';
var family = {
myName: '小明家',
}
function fn(para1, para2) {
console.log(this, typeof this, para1, para2);
}
fn(1, 2);
fn.call(family, 1, 2);
解:
let obj = {};
function foo() {
console.log(this);
}
foo(); // "Window{}"
foo.call(obj); // Object{}
用法:函式名.apply(指定的this变数[参数])。
var myName = '真心镇大冒险';
var family = {
myName: '小明家',
}
function fn(para1, para2) {
console.log(this, typeof this, para1, para2);
}
fn(1, 2);
fn.apply(family, [3, 4]);
let obj = {};
function foo() {
console.log(this);
}
foo(); // "Window{}"
foo.apply(obj); // Object{}
let obj = {};
function foo(a, b) {
console.log(this, a, b);
}
foo.call(obj, 1, 2); // Object{} 1 2
foo.apply(obj, [1, 2]); // Object{} 1 2
此模式被称为硬绑定(hard binding) 指的是绑定既明确又不会意外变回预设的绑定。
var myName = '真心镇大冒险';
var family = {
myName: '小明家',
}
function fn(para1, para2) {
console.log(this, typeof this, para1, para2);
}
fn(1, 2);
var fn2 = fn.bind(family, '小明');
fn2(1);
参考文章:
JavaScript 的 this:https://chupainotebook.blogspot.com/2019/09/javascript-this.html
https://leetcode.com/problems/multiply-strings/ M...
到底 PM 在做什麽? 以前还没有开始当产品经理前,因为对这个职位很有兴趣希望能够往这个职涯发展,...
多媒体标签可以很方便的在页面中嵌入音频和视频,而不用去使用flash和其他浏览器的插件,多媒体标签主...
前言 各位早安,书接上回我们练习了条件判断语法 if else elif 的用法,今天我们要来介绍它...
今天写一些浏览器跟 DOM 的东西。 DOM 全名是 Document Object Model,是...