温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

单体内置对象

发布时间:2020-07-09 10:01:10 来源:网络 阅读:291 作者:吴金瑞 栏目:网络安全

    

定义:由ECMAScript实现提供的,不依赖与宿主环境的对象,这些对象在ECMASript程序执行之前就已经存在了。

意思就是说,开发人员不必显示的实例化内置对象,因为他们已经实例化了。例如Object、Array和String。ECMA-262还定义了两个单体内置对象:Global和Math。

 

Global对象

 


 

在某种意义上他是一个兜底的的对象,所有在全局作用域中定义的属性和方法都是Global的属性。诸如isNaN(),isFinite(),parseInt(),parseFloat()。

1、URI编码方法

 

encodeURI()主要用于整个URI

encodeURIComponent()主要对URI的某一段

 

主要区别:encodeURI()不会对属于URI的特殊字符进行编码,例如冒号、正斜杠。encodeURIComponent()则会对所有非标准字符进行编码

 

1          var uri = "http://www.wrox.com/illegal value.html#start";2          console.log(encodeURI(uri)); //http://www.wrox.com/illegal%20value.html#start3          console.log(encodeURIComponent(uri)); 
4          // http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.html%23start

 

与encodeURI()和encodeURIComponent()对应的两个方法是decodeURI()和decodeURIComponent()

 

1          var uri = "http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.html%23start";2          console.log(decodeURI(uri)); //http%3A%2F%2Fwww.wrox.com%2Fillegal value.html%23start3          console.log(decodeURIComponent(uri)); //http://www.wrox.com/illegal value.html#start

 

2、eval()方法

 eval()方法就像是一个完整的ECMAScript解析器,它只接受一个参数,即要执行的ECMAScript字符串

 

1         eval("alert('hi')");

 

相当于执行下面代码

 

1         alert("hi");

 

 

它会将传入的参数当做实际的ECMAScript语句来解析,然后把执行结果插入到原来位置。通过eval()执行的代码被认为是包含该次调用的执行环境的一部分,所以通过eval()
执行的代码可以引用在包含环境中定义的变量。

 

1          var msg = "hello word";2          eval(alert(msg));3 4          eval("function sayHi(){alert('hi')}");5          sayHi();

 

 

在eval()中创建的任何变量和函数都不会被提升,因为在解析代码的时候,它们被包含在一个字符串中,它们只在eval()执行的时候创建。并且在严格模式下,在外部访问不到eval()中创建的任何变量和函数

 

1         console.log(sayHi()); //sayHi is not defined2         eval("function sayHi(){alert('hi')}");

 

3、Global对象的属性

 

属  性说  明属  性说  明
undefined 特殊值undefined Date 构造函数Date
NaN 特殊值NaN RegExp 构造函数RegExp
Infinity 特殊值Infinity Error 构造函数Error
Object 构造函数Object EvalError 构造函数EvalError
Array  构造函数ArrayRangeError 构造函数RangeError
Function  构造函数Function ReferenceError构造函数ReferenceError
Boolean   构造函数BooleanSyntaxError构造函数SyntaxError
String 构造函数String TypeError 构造函数TypeError
Number  构造函数NumberURIError 构造函数URIError

 

4、Window对象

 

在Web浏览器中都是将这个全局对象作为window对象的一部分加以实现的,因此,在全局作用域中定义的所有变量和函数都成为了window对象的属性。

 

1          var color = "red";2          function sayColor(){3              console.log(window.color);4          }5          window.sayColor(); //"red"

 

另一种取的Global对象的方法是使用以下代码:

 

1          var global = function(){2              return this;3          }();

 

Math对象

 


 

ECMAScript还为保存数学公式和信息提供了一个公共位置,即Math对象,与我们在javascript中编写的计算功能相比,Math对象提供的计算功能执行起来要快的多

 

 

1、Math对象的属性

 

属  性 说  明
Math.E 自然对数的底数,即常量的e的值
Math.LN10 10的自然对数
Math.LN2 2的自然对数
Math.LOG2E以2为底e的对数
Math.LOG10E 以10为底e的对数
Math.PI π的值
Math.SQRT1_2 1/2的平方根(即2的平方根的倒数)
Math.SQRT2 2的平方根

 

2、min()和max()方法

 

1         var max = Math.max(3,56,98,32);2         console.log(max); //983 4         var min  = Math.min(3,56,98,32);5         console.log(min); //3

 

要找到数组中最大值或者最小值,可以像下面这样使用apply()方法

 

1         var newArray = [1,2,3,6,5,4,8,9];2         var max = Math.max.apply(Math,newArray);3         console.log(max);

 

3、舍入方法

 

Math.ceil()执行向上舍入
Math.floor()执行向下舍入
Math.round()执行标准舍入

 

单体内置对象

 1         alert(Math.ceil(25.9));//26 2         alert(Math.ceil(25.5));//26 3         alert(Math.ceil(25.1));//26 4  5         alert(Math.floor(25.9));//25 6         alert(Math.floor(25.5));//25 7         alert(Math.floor(25.1));//25 8  9         alert(Math.round(25.9));//2610         alert(Math.round(25.5));//2611         alert(Math.round(25.1));//25

单体内置对象


4、random()方法

 

返回大于等于0小于1的一个随机数

值 = Math.floor(Math.random() * 可能值的总数 + 第一个可能的值)

选择一个2到10之间的数值

 

1         var num = Math.floor(Math.random() * 9 + 2);2         console.log(num);

 

多数情况下,其实都可以通过一个函数来计算可能值的总数和第一个可能的值,例如

 

单体内置对象

 1         function selectForm(lowerValue,upperValue){ 2             var choices = upperValue - lowerValue + 1; 3             return Math.floor(Math.random() * choices + lowerValue); 4         } 5         var num = selectForm(2,10); 6         console.log(num); 7  8         //利用这个函数可以方便的从数组中随机的取出一项 9 10         var colors = ["red","green","blue","yellow","black","purple","brown"];11         var color = colors[selectForm(0,colors.length-1)];12         console.log(color);

单体内置对象

 

5、其他方法

 

Math对象中还包含其他一些与完成各种简单或复杂计算有关的方法。见下表:

 

方  法  说  明方  法 说  明
Math.abs(num) 返回num的绝对值 Math.asin(x) 返回x的反正弦值
Math.exp(num)  返回Math.E的num次幂Math.atan(x) 返回x的反正切值
Math.log(num) 返回num的自然数Math.atan2(y,x) 返回y/x反正切值
Math.pow(num,power) 返回num的power次幂 Math.cos(x) 返回x的余弦值
Math.sqrt(num)返回num的平方根 Math.sin(x) 返回x的正弦值
Math.acos(x)  返回x的反余弦值Math.tan(x) 返回x的正切值


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI