BOM及改变this指向
bom ( borwser object model 浏览器对象模型)
定义js操作浏览器的属性和方法
window.open(url way()) 中有两个参数
url代表打开的网页地址
way() 打开时方式
window.close() 关闭浏览器
注意事项:1.火狐不会关闭
2.谷歌直接关闭
3.ie 会提示用户是否关闭
浏览器详细信息:
window.navigator.useragent 后期靠它解决浏览器兼容
浏览器地址信息:
window.location (href 网络后面的完整地址) (?后面的叫参数)
window.history 记录浏览器访问历史
window.history.forward() 前进,最新的访问记录
window.history.back() 返回
函数的解析:
函数如果把它当作函数看,就只能起到函数的意义,可以封装,如果说我们把函数当作函数对象来看,就可以实现一些继承了
可以在控制台dir(fn) 可以发现在原型链上函数对象天生带 call() apply() bind() 三个方法,这三个方法可以改变函数内的this指向 (时函数对象天生自带的)
A.call(B,c,d) B取代了A中的this 然后把B给调用了
案例:
function add(a,b){
console.log(this)
return a+b
}
function jian(a,b){
return a-b
}
var s=add.call(jian,5,6) jian取代了add中的this,然后把add调用了
console.log(s)
var d=add.apply(jian,[5,6]) (通过上列便能看出,call于apply的区别, call是将参数赋给函数,apply将数组赋给函数)
console.log(d)
函数内的this:
1.一种当作方法来调用他this指向,前面的对象
2.一种当作函数来调用看函数归属谁,归属谁this就指向谁
瀑布流:
1.图片一直加载不完
2.前提条件:宽一样
BOM及改变this指向的更多相关文章
- 可以改变this指向的方法
this一般指向的是当前被调用者,但也可以通过其它方式来改变它的指向,下面将介绍三种方式: 1.call用作继承时: function Parent(age){ this.name=['mike',' ...
- this指向及改变this指向的方法
一.函数的调用方式决定了 this 的指向不同,但总的原则,this指的是调用函数的那个对象: 1.普通函数调用,此时 this 指向 全局对象window function fn() { conso ...
- 改变this指向的三种方法
call.apply.bind三者为改变this指向的方法. 共同点:第一个参数都为改变this的指针.若第一参数为null/undefined,this默认指向window call(无数个参数) ...
- js中改变this指向的call、apply、bind 方法使用
前言: 由于js 中this的指向受函数运行环境的影响,指向经常改变,使得开发变得困难和模糊,所以在封装sdk,写一些复杂函数的时候经常会用到this 指向绑定,以避免出现不必要的问题,call.ap ...
- $.on()方法和addEventListener改变this指向
jQuery $.on()方法和addEventListener改变this指向 标签(空格分隔): jQuery JavaScript jQuery $.on() jq的绑定事件使用$([selec ...
- (三十七)js改变this指向的方法
最近又遇到了JacvaScript中的call()方法和apply()方法,而在某些时候这两个方法还确实是十分重要的,那么就让我总结这两个方法的使用和区别吧. 1.改变函数内部的this指向的三种方法 ...
- setTimeout改变this指向(****************************************)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 前端js中this指向及改变this指向的方法
js中this指向是一个难点,花了很长时间来整理和学习相关的知识点. 一. this this是JS中的关键字, 它始终指向了一个对象, this是一个指针; 参考博文: JavaScript函数中的 ...
- this(this的4种指向和改变this指向的方式)
this是Javascript语言的一个关键字. 随着函数使用场合的不同,this的值会发生变化.但是有一个总的原则,那就是this指的是,调用函数的那个对象. 1.this指向的形式4种 a.如果是 ...
随机推荐
- JSP--TOMCAT-MYSQL web页面添加
addStudent.jsp如下<%@ page language="java" import="java.util.*" pageEncoding=&q ...
- PyQt5编程:鼠标事件
参考链接:https://www.cnblogs.com/zhuluqing/p/9028816.html 一.每个事件都被封装成相应的类: pyqt中,每个事件类型都被封装成相应的事件类,如鼠标事件 ...
- 【转】react的高阶组件
React进阶之高阶组件 前言 本文代码浅显易懂,思想深入实用.此属于react进阶用法,如果你还不了解react,建议从文档开始看起. 我们都知道高阶函数是什么, 高阶组件其实是差不多的用法,只 ...
- SWIFT中获取当前经伟度
很多的APP中都会用到用户的当前位置信息,本文将实现这个小功能 import UIKit import CoreLocation //添加引用 class ViewController: UIView ...
- Mac 下配置php环境
Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例.主要内容包括: 启动Apache 运行PHP 安装MySQL 使用phpMyAdmin ...
- Windows下C++删除清除map
清除单map(非嵌套map) #include<map> #include<string> #include<iostream> using namespace s ...
- [Algorithm] A nonrecursive algorithm for enumerating all permutations of the numbers {1,2,...,n}
def permutationN(n): a=[None]*n for i in range(n): a[i]=i+1 sum=1 for j in range(n): sum*=(j+1) i=0 ...
- codeforces315Div1 B Symmetric and Transitive
http://codeforces.com/contest/568/problem/B 题意就是给一个有n个元素的集合,现在需要求有多少个A的二元关系p,使得p是对称的,是传递的,但不是自反的. 首先 ...
- Thrift 个人实战--初次体验Thrift(转)
前言: Thrift作为Facebook开源的RPC框架, 通过IDL中间语言, 并借助代码生成引擎生成各种主流语言的rpc框架服务端/客户端代码. 不过Thrift的实现, 简单使用离实际生产环境还 ...
- Start Developing iOS Apps (Swift) 开始开发iOS应用(Swift)
http://www.cnblogs.com/tianjian/category/704953.html 构建基础的用户界面 Build a Basic UI http://www.cnblogs.c ...