关于javascript:javascript高级程序设计学习笔记-57单体内置对象

36次阅读

共计 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 之间的整数

正文完
 0