js之global 全局对象 方法

时间: 2018-12-12阅读: 2299标签: 对象

global 作为js的全局对象,但其是无法直接访问的,但是在浏览器中浏览器是将这个对象当做是window对象的一部分,即Date 等Global的属性使用window.Date 可访问到

 

Global 对象的属性

属性描述
Infinity
特殊值表示正的无穷大。
NaN
特殊值表示非数字值。
undefined
特殊值表示一个变量未被初始化。



Global 对象的方法

方法描述
decodeURI()
对已编码的统一资源标识符(URI)进行解码,并返回其非编码形式。
decodeURIComponent()对统一资源标识符(URI)的一个已编码的组件进行解码,并返回其非编码形式。
encodeURI()
对统一资源标识符(URI)进行编码,并返回编码后的URI字符串。
encodeURIComponent()
对统一资源标识符(URI)的有效组件进行编码,并返回编码后的字符串。
escape()
已过时对字符串进行编码,并返回一个可在所有计算机上读取的编码字符串。
eval()
计算并执行以字符串表示的JavaScript代码
isFinite()
判断指定数字是否是有限值。
isNaN()
判断指定数字是否是非数字值NaN
parseFloat()
将字符串转换为浮点数并返回。
parseInt()
将字符串转换为整数并返回。
unescape()
已过时对已经使用escape()函数编码的字符串进行解码,并返回解码后的字符串。

1.url 编码方法 ( encodeURL()  和 encodeURLComponent() )

1) encodeURI(); 用于整个url 且改方法不会对特殊字符进行编码

let url = "http://www.test.com/test one.hml#frist";     
console.log(encodeURI(url)); //输出 : //http://www.test.com/test%20one.hml#frist   

 2)encodeURIComponent()  用于url的某一个片段,且会对任何非标准字符进行编码

let url = "http://www.test.com/test one.hml#frist";     
console.log(encodeURIComponent(url));
//输出 : http%3A%2F%2Fwww.test.com%2Ftest%20one.hml%23frist


2. urI 解码方法 ( decodeURI() 和 decodeURIComponent())

1) decodeURI(str) 对应的解码 是解encodeURI(str) 的反码

2)decodeURIComponent() 对应解 encodeURIComponent(); 可以解码任何特殊字符的编码

 

3. eval(js-str) 方法 (将js的字符串代码解析为可执行的js代码,类似于js的解析器);

使用eval()时,执行的代码块被认为是所作用的环境或者作用域的一部分,常用来动态插入js到指定作用域,其中在eval()中创建的任何变量以及函数都不会被提升,因为这行声明是在需要执行的eval()字符串之中,只有执行到eval()时才创建

console.log('123'); //可直接在js中打印
eval('console.log("test")');// 该字符串通过eval() 解析也可直接在js中运行打印
test(); //Uncaught ReferenceError: test is not defined 因test函数在字符串中还未被eval()解析所以不会出现函数提升
eval("function test(){console.log('test')}");
//在严格模式下' use strict’;
//直接给 eval = 8 赋值将会返回报错   即  
(function() {    
    'use strict';     
	eval('var a = 123');     
	console.log(a) //此时a报错  
}())


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/1561

javascript如何判断对象是否相等?

JavaScript作为一个基于对象(没有类的概念)的语言,从入门到精通到放弃一直会被对象这个问题围绕。下面我们就来看一下如何判断对象是否相等。

在js中arguments对象的理解

在函数调用的时候,浏览器每次都会传递进两个隐式参数:函数的上下文对象this,封装实参的对象arguments。arguments 对象实际上是所在函数的一个内置类数组对象

为什么javascript中无法创建activexobject对象?

ActiveXObject()用于在IE或者IE内核下创建ActiveX控件对象,其创建的对象是基于控件的,所以创建该对象必须先安装控件。

Window对象在前端领域的角色

在js的领域,window对象有着双重角色,既是用来访问浏览器窗口的接口,又是Global对象。也正因为此,所有全局作用域中声明的变量、函数都会变成window对象的属性和方法。

JS实现判断对象是否为空对象的5种方法

将json对象转化为json字符串,再判断该字符串是否为{},for in 循环判断,jquery的isEmptyObject方法,Object.getOwnPropertyNames()方法,使用ES6的Object.keys()方法

深入理解js对象中数据属性和访问器属性

创建对象的方式有两种:第一种,通过new操作符后面跟Object构造函数,第二种,对象字面量方式。两种方式创建出来的对象是一样的,有相同的属性和方法。这些属性内部都有描述其行为的属性描述符。

JavaScript中的map()和forEach()有什么区别?

JavaScript中一些最受欢迎的功能可能是map和forEach。从ECMAScript 5(简称es5)开始,它们就开始存在了。在本文中,我将讨论它们之间的主要区别,并向你展示其用法的一些示例。

js组合模式和寄生组合模式的区别研究

结合了构造函数继承时可以为每个属性重新初始化,构造一个副本的优点,以及原型链继承时一次定义处处共享的优点。寄生组合式继承是在原型式继承的基础上做的。主要目的是可以基于已有的对象创建新的对象,而不必因此创建自定义类型。

JS之BOM的几个对象

BOM(Browser Object Model)即浏览器对象模型。 BOM提供了独立于内容 而与浏览器窗口进行交互的对象; 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window;

Js event对象offsetX,pageX,screenX,clientX

平时在测量元素位置时难以确定,下面给出具体的event对象中的各种属性,以便日后使用。检测相对于浏览器的位置:clientX和clientY,当鼠标事件发生时,鼠标相对于浏览器左上角的位置

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!