文档章节

JavaScript-基础入门.0014.JavaScript内置对象

乐搏学院
 乐搏学院
发布于 2017/03/15 17:11
字数 917
阅读 1
收藏 0

简单介绍:

说明: 内置对象就是不依赖宿主环境在程序执行之前已经存在的对象,不必显式的实例化内置对象,前面已经介绍了大部分内置对象,而Global和Math两个单体内置对象比较特殊,所以单独讲.

 

Global对象:

说明: Js中不属于任何其它对象的属性和方法,最终都是它的属性和方法,事实上没有全局变量和全局函数,所有的全局作用域中定义的属性和函数都是Global对象的属性如之前的isNaN(),isFinite(),parseInt(),parseFloat()实际上全都是Global对象的方法,除此之外还有一些常用的方法

1. 编码解码

说明: URI编码可以对链接进行编码,以便发送给浏览器,即采用特殊的UTF-8编码替换所有无效字符,从而让浏览器能够接受和理解

1

2

3

4

5

6

7

8

9

10

11

12

13

14

/*

 * encodeURI() - 不会对本身属于URI的特殊字符进行编码,例如冒号,正斜杠,问号和#

 */

encUriOne = encodeURI('http://xmdevops.blog.51cto.com/')

console.log(encUriOne)

// 部分解码

console.log(decodeURI(encUriOne))

/*

 * encodeURIComponent()() - 会对本身属于URI的特殊字符进行编码,例如冒号,正斜杠,问号和#

 */

encUriTwo = encodeURIComponent('http://xmdevops.blog.51cto.com/')

console.log(encUriTwo)

// 完全解码

console.log(decodeURIComponent(encUriTwo))

2.二次解析

说明: 主要担当一个字符串解析器的作用,只接受一个参数,这个参数就是Js代码字符串

1

2

3

4

5

6

7

8

// eval - 支持函数

eval('function love(){ return "love"}')

console.log(love())

// eval - 支持表达式

eval('var func = "love"')

console.log(func)

// eval - 支持代码

eval('alert("love")')

注意: eval()方法功能非常强大,但也非常危险,因此使用时要极为谨慎,特别是用户输入数据的情况下,非常有可能导致程序的安全性,比如代码注入

3. 对象属性

说明: Global对象包含一些属性:undefined, NaN, Infinity, Object, Array, Function, Boolean, String, Number

4. window

说明: Global没法直接访问,而Web浏览器可以使用window对象来实现全局访问(其实Global对象是作为window对象的一部分加一实现)

 

Math对象:

说明: Math保存数学公式和信息提供的一个对象,与我们在Js中直接编写计算功能相比,Math对象提供的计算功能执行起来要快的多

对象属性 说明
PI 派的值
SQRT2 2的平方根
SQRT1_2 2的平方根的倒数
对象方法
min(val1....valN) 获取一组数值中的最小值,返回最小的值
max(val2...valN) 获取一组数值中的最大值,返回最大的值
ceil(val) 获取大于ceil的最小整数
floor(val) 获取小于ceil的最大整数
round(val) 获取四舍五入后的最接近的整数
random() 获取0-1之间的随机数,但不包括0和1
abs(val) 返回val的绝对值
pow(val, power) 返回val的power次幂
sqrt(val) 返回val的平方根

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

/*

 * 获取最大最小值

 */

var arr = [1, 2, 3, 4, 5, 6, 7, 8]

console.log(

    Math.min.apply(Math, arr),

    Math.max.apply(Math, arr)

)

/*

 * 获取随机值(随机值 = Math.floor(Math.random()*最大值+最小值))

 */

var arr = ['red''green''blue''yellow''black''purple''brown']

function randIndex(total, start){

    return Math.floor(Math.random()*total+start)

}

var color = arr[randIndex(arr.length, 0)]

console.log(color)

 

 

登录乐搏学院官网http://www.learnbo.com/

或关注我们的官方微博微信,还有更多惊喜哦~

 

本文出自 “满满李 - 运维开发之路” 博客,请务必保留此出处http://xmdevops.blog.51cto.com/11144840/1852272

© 著作权归作者所有

共有 人打赏支持
乐搏学院
粉丝 9
博文 526
码字总数 707467
作品 0
丰台
程序员
私信 提问
javascript入门经典【推荐】—新手必备、零基础学习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a125138/article/details/7819466 本书目录 第一章: JavaScript语言基础第二章: JavaScript内置对象 第三章...

续写经典
2012/08/01
0
0
浅谈零基础新手学HTML5前端开发学习路线

  浅谈HTML5前端开发学习路线。学习HTML5开发先学学HTML、CSS3、JS这些基本的知识,HTML5学习入门的内容基本差不多,但是学习的成果却千差万别,这就是所谓的基础,所谓万丈高楼平地起,地...

Java编程语言基础入门博客
2017/04/04
0
0
当javaScript从入门到提高前需要注意的细节:变量部分

到了HTML5的时代,对javaScript的要求不是降低了,而是更提高了。javaScript语言的入门非常简单,如果你有java、C#等C风格的结构化语言的基础,那javaScript你最多半天就可以写点什么了。但是...

彭博
2012/03/09
47
0
如何轻松快速学习JavaScript 呢?

JS给人那种感觉的原因多半是因为它如下的特点: 1:本身知识很抽象、晦涩难懂,如:闭包、内置对象、DOM。 2:本身内容很多,如函数库,对象库就一大堆。 3:混合多种编程思想。 4:辛苦学习...

课工场CC老师
2017/11/04
0
0
【JavaScript基础系列】决定你的人生能走多远的,是基础。

前言    javaScript门槛非常低,一点语法,一个dom,一个bom就可以使用它开发大部分js应用,再加上现在层出不穷的框架极大的简化抽象了javaScript的使用方式,但是我们始终不能忘记的一点...

grootzhang
2017/09/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Go Timer实现原理剖析

简介 快速使用 操作介绍

恋恋美食
1分钟前
0
0
记录一个奇怪的问题

环境:jdk1.8虚拟机参数:-verbose:gc -XX:+PrintGCDetails -Xmx20m -Xms20m -Xmn10m -XX:SurvivorRatio=8  -XX:+HeapDumpOnOutOfMemoryError 可以看出,eden占8M却放不下6M数据,发生了......

暗中观察
29分钟前
0
0
创建多个git账号

实习开发中我们可能一个机子上配置多个git账号,如github.com,oschina.com 或者工作账号,私人账号,这时候就2个账号用一个key,肯定会冲突,有一个会提示没权限(账号和密码对应不上) ssh ...

echojson
32分钟前
1
0
rabbitmq安装教程

RabbitMQ有Windows与Linux版本的,这里先写Windows版本的安装。 以前安装软件总是在百度上找某某安装教程,结果能按照教程安装好的软件真的不多。想起先前以为大牛说的一句话,去官网按照官网...

em_aaron
今天
7
0
Android 贝塞尔曲线实践——波浪式运动

一、波浪效果如下 贝塞尔曲线自定义波浪效果的案例很多,同样方法也很简单,大多数和本案例一样使用二次贝塞尔曲线实现,同样还有一种是PathMeasure的方式,这里我们后续补充,先来看贝塞尔曲...

IamOkay
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部