时间:2021-05-26
window对象是Web浏览器中javascript的一个终极兜底儿对象,在作用域中处于最末端,是一个包含所有对象的对象。所有在全局作用域中定义的属性和函数都是window对象的属性
var myStringVar = 'myString';var myFunctionVar = function(){};console.log('myStringVar' in window);//trueconsole.log('myFunctionVar' in window);//true1、引用
通常有两种引用window对象的方法。第一种是简单引用赋予window对象的名称;第二种是在全局作用域中使用this关键字
var foo ='bar';windowRef1 = window;windowRef2 = this;console.log(windowRef1,windowRef2);//输出window对象的引用console.log(windowRef1.foo,windowRef2.foo);//'bar' 'bar'2、特性
window对象是隐式的,通常不显式引用;即使window对象显式声明,它也是隐式的,因为window对象在作用域链中是最后一个
//window.alert()和alert()语句基本上是相同的var foo = {//window对象在这里是隐式的,window.foo fooMethod: function(){ alert('foo' + 'bar');//window对象在这里是隐式的,window.alert window.alert('foo' + 'bar');//显式调用window对象,效果一样 }}foo.fooMethod();//window对象在这里是隐式的,window.foo.fooMethod()3、属性
window对象共有18个属性
[注意]禁止给undefined、NaN和Infinity赋值
4、方法
Javascript附带一些预定义函数,被认为是window对象的方法
1)、编码方法
encodeURI():对整个URI进行编码,用特殊的UTF-8替换所有无效的字符
encodeURI()的不编码字符有82个:
! # $ & ' ( ) * + , - . / : ; = ? @ _ ~ 0-9 a-z A-Z
encodeURIComponent():对URI的某一段进行编码(常用于GET方法传递参数),用特殊的UTF-8替换所有无效的字符
一般来说,使用encodeURIComponent()比encodeURI()要多,因为在实践中更常见的是查询字符串参数而不是对基础URI编码。encodeURIComponent()的不编码字符有71个:
! ' ( ) * - . _ ~ 0-9 a-z A-Z
escape():对字符串进行编码,将字符的unicode编码转化为16进制序列
ES3中反对escape()的使用,并建议用encodeURI和encodeURIComponent代替,不过escape()依然被广泛的用于cookie的编码,因为escape()恰好编码了cookie中的非法字符并且对路径中常出现的“/”不进行编码。escape()的不编码字符有69个:
* + - . / @ _ 0-9 a-z A-Z
decodeURI():解码encodeURI()
decodeURIComponent():解码encodeURIComponent()
unescape():解码escape()
var uri = "http:///illegal value.htm#starteval()
eval()方法像一个完整的ECMAScript解析器,只接受一个参数,即要执行的JavaScript字符串。当解析器发现代码中调用eval()方法时,它会将传入的参数当作实际的ECMAScript语句来解析,然后把执行结果插入到原位置。eval()方法能够解释字符串的能力非常强大,但也非常危险。当用它执行用户输入数据时,可能会有恶意用户输入威胁站点或应用程序字符的代码,就是所谓的代码注入
[注意]在严格模式下,外部访问不到eval()中创建的任何变量或函数,为eval赋值也会导致错误
2)、数字方法
Window对象下还有isFinite()、isNaN()、parseFloat()、parseInt()这四个关于数字的方法
以上就是本文的全部内容,希望对大家的学习有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一.基础篇Javascript学习笔记1数据类型Javascript学习笔记2函数Javascript学习笔记3作用域Javascript学习笔记4Eval函数
使用JavaScript框架 在讲述window对象的时候,我们提到过,一个框架内的网页也是window对象,也就是说,Frame对象也是window对象。用
Window对象所有浏览器都支持window对象。它表示浏览器窗口。所有JavaScript全局对象、函数以及变量均自动成为window对象的成员。全局变量是w
推荐阅读:JavaScript学习笔记之数组的增、删、改、查JavaScript学习笔记之数组求和方法JavaScript学习笔记之数组随机排序话说面试常会碰到
JavaScript允许创建和打开代表HTML文本,form对象和frame的窗口.window对象是JavaScript客户层次结构的最顶层对象,form元素