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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • js基础知识:基于ECMA 262标准(规定基础语法、规则) --变量类型和计算--原型和原型链--闭包和作用域-...
    飞菲fly阅读 3,520评论 0 0
  • Ajax-XMLHttpRequst Ajax(服务器端交互ajax必不可少) 1.手动编写一个ajax,不依赖第...
    飞菲fly阅读 2,271评论 0 0
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 1.请描述一下cookie,sessionStorage 和 localStorage 的区别 Cookie 1....
    飞菲fly阅读 1,469评论 0 0
  • 本博客转自:「作者:若愚链接:https://zhuanlan.zhihu.com/p/22361337来源:知乎...
    韩宝亿阅读 7,743评论 0 3