JS - Web - API

有一定 Js 基础的应该知道,Js 是带有一些自身的东西的,
就是与生俱来的,比如一些:
内置函数——Object、Array、Boolean、String、Number等
内置对象——Math、JSON、Date等
但是,如果仅仅是用这些东西,编写网页是办不到的。

而要在不同的环境中运行,就要有个标准,
JS遵循 ECMA 262 语法基础,JS - Web - API 则遵循 W3C 标准。

  • 常说的Js(浏览器执行的Js),其实包含两部分:

    ① Js 基础知识 (ECMA262 标准)(也就说 Js 的语法格式和一些规定)
    ② Js - Web - API(W3C标准)(DOM操作之类的规定)

    不是针对浏览器中运行的,比如 node.js,针对服务器的 Js
    自然就不需要 Js - Web - API 和符合 W3C 标准了,
    因为它根本没有 window、document 等东西。

  • 浏览器作为 Js 的执行者,

    为了能够更好的去执行浏览器的功能,
    它为 Js 内置一些东西,方便运行,这是很自然的事了。
    当然,这些内置的东西,也是遵循上面的标准的。
    举两个栗子:

    • 页面弹框 window.alert (123),一般我们只写 alert (123)
      这时浏览器就会定义一个 window 全局变量,是一个对象,
      并给它一个属性 alert (符合对象任意扩展属性的规则)
      属性值是函数,所以,执行alert (123),就相当于运行了一个函数。
    • 获取元素 document.getElementById (id) 时
      浏览器定义一个 document 全局变量, 对象类型,
      给它定义一个 getElementById 属性,属性值是一个函数,同上。

    上面的这些例子中,都语法都符合 Js 的标准。

  • W3C 标准中与 Js 配合的规定有:

    • DOM操作(添加删除节点)
    • BOM操作(获取屏幕尺寸)
    • 事件绑定(点击事件,输入事件)
    • ajax请求(包括 http 协议)
    • 存储
  • 但是需要注意的是
    W3C 标准没有规定任何 Js 基础相关的东西,
    也不管什么变量类型、原型、作用域和异步等,
    只管定义用于浏览器中 Js 操作页面的 API 和全局变量。

说到底,
API 就是程序接口,让外部的东西通过这个接口,
来使用内部的一些信息和功能。
也就是说,Js 通过这些 API ,
来获取网页(浏览器?)的一些信息和功能。



Wait me back

你可能感兴趣的:(JS - Web - API)