var option = {
ti : 8,
it(){
return this.ti;
}
}

这里又一个option对象,it()方法里的this指的就是option对象的上下文。

console.log(option.it());

直接输出option.it()可以打印出8,option对象作为全局变量可以直接调用;

那我如果只想用option里的it()方法呢,如这样:

var option = {
ti : 8,
it(){
return this.ti;
}
}
var option2 ={
ti :7
}
var nb = option.it.call(this.option);//call里的this>wiondow对象
var nb2 = option.it.call(option2);
console.log(nb);//
console.log(nb2);//
console.log(option.it());//

nb2这个对象,将option里的this指向了option2,所以this.ti相当于option2.ti;

bind和call用法差不多,call返回的是对象,bind返回的是一个函数。如果var bn2 = option.ti.bind(option2);那么在调用的时候就要

console.log(nb2())
console.log(nb2())

js中.bind()和.call()用法讲解的更多相关文章

  1. 【转载】JS中bind方法与函数柯里化

    原生bind方法 不同于jQuery中的bind方法只是简单的绑定事件函数,原生js中bind()方法略复杂,该方法上在ES5中被引入,大概就是IE9+等现代浏览器都支持了(有关ES5各项特性的支持情 ...

  2. JS里设定延时:js中SetInterval与setTimeout用法

     js中SetInterval与setTimeout用法 JS里设定延时: 使用SetInterval和设定延时函数setTimeout 很类似.setTimeout 运用在延迟一段时间,再进行某项操 ...

  3. js 中关键字 this的用法

    <1>  js中this 的用法?  (key:函数是由调用的,四种情况标红可知) (http://www.ruanyifeng.com/blog/2010/04/using_this_k ...

  4. js中setTimeout/setInterval定时器用法示例

    js中setTimeout(定时执行一次)和setInterval(间隔循环执行)用法介绍. setTimeout:在指定的毫秒数后调用指定的代码段或函数:setTimeout示例代码 functio ...

  5. js中typeof与instanceof用法

    今天写JS代码,遇到动态生成多个名称相同的input复选按钮 需要判断其是否是数组,用到了if (typeof(document.MapCheckMgr.checkid)!="undefin ...

  6. js中bind解析

    一.arguments的含义 // arguments 是一个对应于传递给函数的参数的类数组对象 function a(){ console.log(arguments); } a(); // Arg ...

  7. js中的escape的用法汇总

    js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1 ...

  8. js中的||和&&的用法

    与其他语言不同,在JS中,a&&b或者a||b返回的是要么是a,要么是b:而其他语言中返回的是true or false 对于js中的或与运算,需要隐式的转换为boolean类型再来运 ...

  9. JS中try catch的用法

    在js中也可以使用try/catch语法,把可能发生异常的代码使用try包裹起来,然后在catch中对异常进行处理,处理后就不会影响后面代码的执行. const a = null try { cons ...

随机推荐

  1. eclipse与idea部署项目的区别

    Eclipse会将web项目部署到 Tomcat 的安装目录下的webapps文件夹下IDEA会在操作系统盘的用户目录下新建一个目录,这个目录一般是你的IDEA的版本号目录1.启动项目 2. 根据地址 ...

  2. 浅谈SIEM

    一.概念 SIEM ( Security Information Event Management,安全信息与事件管理) Gartner的定义:安全信息和事件管理(SIEM)技术通过对来自各种事件和上 ...

  3. AVIRIS 简介

    AVIRIS 是指 机载可见光近红外成像光谱(Airborne Visible InfraRed Imaging Spectrometer).是由美国NASA下属的喷气动力实验室(JPL)开发和维护的 ...

  4. 06 . Nginx静态资源缓存

    Nginx静态资源 Nginx可以处理静态资源 非Web服务器可以运行处理而生成的文件,即服务器只需要从硬盘或者缓存中读取然后直接给客户端响应即可. 常见的静态资源 # 浏览器渲染: html文件,样 ...

  5. SPA页面

    背景: 单页 Web 应用 (single-page application 简称为 SPA) 是一种特殊的 Web 应用,它将所有的活动均局限于一个Web页面中:这就表示Web应用被加载出来之后,W ...

  6. Python编程思想(3):数字及其相关运算

    Python 提供了三种数值类型:int(整型),float(浮点型)和complex(复数). int:通常被称为整型或者整数,如200.299.10都属于整型: float:浮点数包含整数和小数部 ...

  7. Docker容器同步主机时间

    方法一: 查看本地是否有/etc/localtime文件 cat /etc/localtime   如果没有就新建文件 cp /usr/share/zoneinfo/Asia/Shanghai /et ...

  8. 一文说通Dotnet Core的中间件

    前几天,公众号后台有朋友在问Core的中间件,所以专门抽时间整理了这样一篇文章.   一.前言 中间件(Middleware)最初是一个机械上的概念,说的是两个不同的运动结构中间的连接件.后来这个概念 ...

  9. Java实现 蓝桥杯VIP 算法训练 连通分块(并查集)

    试题 算法训练 连通分块 资源限制 时间限制:200ms 内存限制:8.0MB 问题描述 连通分块 输入格式 输入的第一行包含两个整数n, m n代表图中的点的个数,m代表边的个数 接下来m行,每行2 ...

  10. Java实现 蓝桥杯 历届真题 稍大的串

    串可以按照字典序进行比较.例如: abcd 小于 abdc 如果给定一个串,打乱组成它的字母,重新排列,可以得到许多不同的串,在这些不同的串中,有一个串刚好给定的串稍微大一些.科学地说:它是大于已知串 ...