js之global 全局对象 方法

更新日期: 2018-12-12阅读: 3.6k标签: 对象

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报错  
}())


链接: https://fly63.com/article/detial/1561

JavaScript中创建对象的7种模式

ECMA-262把对象定义为:”无需属性的集合,其属性可以包含基本值、对象或者函数。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。正因为这样,我们可以把ECMAScript的对象想象成散列表:无非就是一组名对值,其中值可以是数据或函数。

JavaScript数组、对象合并的多种方法实现

这篇文章讲解Js数组和对象的一些使用技巧,如何将不同的数组,对象合并/结合为1个的方法

Js通过.或者[]访问对象属性的语法、性能等区别

在JavaScript中可以使用 . 或者 [ ] 来访问对象的属性,但是对象中方法只能通过 . 来获取;使用.运算符来存取对象的属性的值。或者使用[]作为一个关联数组来存取对象的属性。但是这两种方式有什么区别了?

js中关于for...in遍历对象属性的顺序问题

对象使用obj.length时,它得到的值是undefined的,所以只能通过for...in循环获取对象的属性,我们发现并没有按属性的顺序显示,而且顺序在各个浏览器下显示也不同。 这是为什么呢?

JS声明对象时属性名加引号与不加引号的问题

JS声明对象时属性名加引号与不加引号的问题,一般情况下属性名加引号和不加引号是都可以的,效果是一样的。如果属性名是数字,则必须用“”包围,并且用 [] 方括号访问。

javascript的本地对象,内置对象和宿主对象

javascript的原生对象:也叫内部对象、本地对象、native object;内置对象:Global(全局对象)、Math ;宿主对象:有宿主提供的对象,在浏览器中window对象以及其下边所有的子对象(如bom、dom等等),在node中是globla及其子对象,也包含自定义的类对象。

JavaScript 判断对象中是否有某属性

判断对象中是否有某属性的常见方式总结,不同的场景要使用不同的方式。一点( . )或者方括号( [ ] )、二in 运算符、三hasOwnProperty()。三种方式各有优缺点,不同的场景使用不同的方式,有时还需要结合使用

JavaScript Error对象详解

error,指程序中的非正常运行状态,在其他编程语言中称为“异常”或“错误”。解释器会为每个错误情形创建并抛出一个Error对象,其中包含错误的描述信息。

如何禁止JavaScript对象重写?

由于JavaScript的灵活性,我们可以轻易地重写(override)一些于其他人定义的对象(object)。换句话说,任何人都可以重写我们所定义的对象。这是一个非常强大的特性,许多开发者都有兴趣试试,来拓展或者修改某些对象的行为。

JavaScript面向对象编程中_优雅的类写法

虽然现在已经是ES6的时代,但是,还是有必要了解下ES5是怎么写一个类的。本文详述JavaScript面向对象编程中的类写法,并分步骤讲述如何写出优雅的类。

点击更多...

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