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.如果是 ...
随机推荐
- 亚马逊Kindle正式进入中国
6月7日下午消息,亚马逊Kindle今天下午4点正式发售.其中,Kindle电子阅读器和Kindle Fire平板电脑同步销售.Paperwhite售价最低849元,Kindle Fire HD售价最 ...
- windows form参数传递过程
三.windows form参数传递过程 在Windows 程序设计中参数的传递,同样也是非常的重要的. 这里主要是通过带有参数的构造函数来实现的, 说明:Form1为主窗体,包含控件:文本框text ...
- SQL SERVER 压缩数据库日志文件
ALTER DATABASE DBNAME SET RECOVERY SIMPLE --设置为简单恢复模式 GO DBCC SHRINKFILE (DBNAME_log, 1) GO ALTER DA ...
- cocos2dx 3.1.1移植安卓apk (lua项目交叉编译 mac环境下)
cocos2dx 3.1.1 lua项目安卓交叉编译 mac环境下 本文基于ant,sdk,ndk,adt等软件和环境已经事前设置好 1\新建项目 在mac的终端下输入命令: cocos new te ...
- android_serialport_api hacking
/************************************************************************************ * * android_se ...
- PC端体验效果最佳epub阅读器——iRead爱读书
官网:http://www.ireadhome.com/
- HPU 1437: 王小二的求值问题
1437: 王小二的求值问题 时间限制: 1 Sec 内存限制: 128 MB提交: 141 解决: 31 统计 题目描述 题意超级简单,求一个序列的次大值. 输入 多组输入,每个测试实例占两行,包括 ...
- .NET/C# 项目如何优雅地设置条件编译符号?
条件编译符号指的是 Conditional Compilation Symbols.你可以在 Visual Studio 的项目属性中设置,也可以直接在项目文件中写入 DefineConstants ...
- hdu1233 还是畅通工程 最小生成树
给出修建边的边权,求连通所有点的最小花费 最小生成树裸题 #include<stdio.h> #include<string.h> #include<algorithm& ...
- 【多线程学习笔记整理】002_线程的停止、暂停、与yield
一.停止线程的三种方式 停止线程是多线程中的一个很重要的点,停止线程意味着在线程处理完当前任务之前终止正在做的操作,但是如果不能正确的操作,可能会发生不可预期的结果. 1)使用退出标志,使线程正常退出 ...