共计 2422 个字符,预计需要花费 7 分钟才能阅读完成。
欢送关注前端小讴的 github,浏览更多原创技术文章
单体内置对象
相干代码 →
- 由 ECMAScript 实现提供的,不依赖于宿主环境的对象,在 ECMAScript 程序执行之前就曾经存在
- Global 和 Math
Global 对象
- 不属于任何其余对象的属性和办法,最终都是 Global 的属性和办法
- isNan(),isFinite(),parseInt(),parseFloat()
URI 编码方法 | 返回值 |
---|---|
encodeURI() | URI 编码,冒号、正斜杠、问号、井号除外 |
encodeURIComponent() | URI 编码,所有非标准字符 |
decodeURI() | URI 解码,只针对应用 encode()编码的字符 |
decodeURIComponent() | URI 解码,所有非标准字符 |
var uri = 'https://element cn/#tab'
console.log(encodeURI(uri)) // https://element%20cn/#tab,自身属于 URI 的字符不编码(冒号、正斜杠、问号、井号)console.log(encodeURIComponent(uri)) // https%3A%2F%2Felement%20cn%2F%23tab,编码所有非标准字符
console.log(decodeURI('https%3A%2F%2Felement%20cn%2F%23tab')) // https%3A%2F%2Felement cn%2F%23tab,只针对应用 encode()编码的字符解码
console.log(decodeURIComponent('https%3A%2F%2Felement%20cn%2F%23tab')) // https://element cn/#tab,解码所有非标准字符
eval 办法 | 返回值 |
---|---|
eval() | 将传入的参数当作理论的 EXMAScript 语句解析 |
- 将传入的参数当作理论的 EXMAScript 语句解析
- 被执行的代码具备 与该执行环境雷同的作用域链
- eval() 创立的变量或函数 不会被晋升
- 严格模式下,内部拜访不到 eval() 中创立的变量或函数,为 eval 赋值也会报错
eval("console.log('hi')") // "hi",将传入的参数当作理论的 EXMAScript 语句解析
eval("function sayHi() {console.log('hi')}")
sayHi() // "hi",被执行的代码具备与该执行环境雷同的作用域链
// console.log(msg) // 报错,eval() 创立的变量或函数不会被晋升
eval("var msg ='hi'")
console.log(msg) // "hi",被执行的代码具备与该执行环境雷同的作用域链
Global 对象属性 | 阐明 |
---|---|
undefined | 非凡值 undefined |
NaN | 非凡值 NaN |
Infinity | 非凡值 Infinity |
Object | 构造函数 Object |
Array | 构造函数 Array |
Function | 构造函数 Function |
Boolean | 构造函数 Boolean |
String | 构造函数 String |
Number | 构造函数 Number |
Date | 构造函数 Date |
RegExp | 构造函数 RegExp |
Error | 构造函数 Error |
EvalError | 构造函数 EvalError |
RangeError | 构造函数 RangeError |
ReferenceError | 构造函数 ReferenceError |
SyntaxError | 构造函数 SyntaxError |
TypeError | 构造函数 TypeError |
URIError | 构造函数 URIError |
// web 浏览器将 global 全局对象作为 window 对象
var color = 'red'
function sayColor() {console.log(window.color)
}
window.sayColor() // red
Math 对象
max 和 min | |
---|---|
min() | 确定一组数值的最大值 |
max() | 确定一组数值的最小值 |
console.log(Math.max(3, 54, 32, 16)) // 54
console.log(Math.min(3, 54, 32, 16)) // 3
- 确定数组中的最大值 / 最小值
var values = [1, 2, 3, 4, 5]
console.log(Math.max.apply(Math, values)) // 把 Math 对象作为 apply()的第一个参数,将数组作为第二个参数
舍入办法 | |
---|---|
ceil() | 向上取整 |
floor() | 向下取整 |
round() | 四舍五入 |
console.log(Math.ceil(1.9)) // 2
console.log(Math.floor(1.9)) // 1
console.log(Math.round(1.9)) // 2
random 办法 | |
---|---|
random() | 返回大于 0 小于 1 的随机数 |
console.log(Math.random()) // 大于 0 小于 1 的随机数
- 抉择 1-10 之间的整数
console.log(Math.floor(Math.random() * 10 + 1))
- 抉择 m-n 之间的整数
function selectFrom(lowerValue, upperValue) {
var choices = upperValue - lowerValue + 1 // 获取范畴内的数量
return Math.floor(Math.random() * choices + lowerValue)
}
var num = selectFrom(7, 32)
console.log(num)
总结 & 问点
- 单体内置对象有哪些?别离有什么特点?
- Global 对象有哪些办法?别离有什么用法?
- eval 办法的用法和特点?
严格模式下,eval 办法受到哪些限度? - Global 对象有哪些属性?
- 在 web 浏览器中,将 global 全局对象作为什么对象实现的?
- Math 对象有哪些办法?别离有什么用法?
- 请用 Math 对象确定数组中的最大值 / 最小值
- 请用 Math 对象随机生成 m-n 之间的整数
正文完
发表至: javascript
2020-09-21