JavaScript-StepPitGuide
  • 封面
  • 前言
  • 基础知识
    • 基础知识
      • 变量声明
      • 变量类型和计算
      • 作用域
      • 基本数据类型
        • Undefined
        • Null
        • Boolean
        • Number
        • String
        • Symbol
      • 类型转换
    • 引用类型
      • Object类型
      • Array类型
        • 检测数组
        • 转换方法
        • 栈方法
        • 队列方法
        • 重排序方法
        • 操作方法
        • 位置方法
        • 迭代方法
        • 归并方法
      • Date类型
      • RexExp类型
      • Function类型
      • Set类型(ES6)
      • Map类型(ES6)
    • BOM
      • window对象
      • location对象
      • navigator对象
      • screen对象
      • history对象
    • DOM
      • DOM节点操作
      • DOM结构操作
    • 事件
      • 事件流
      • 事件注册与触发
      • 事件对象
      • 事件分类
    • 异步
      • Ajax
      • Promise
    • 正则表达式
    • 面向对象程序设计
      • 构造函数
      • 原型链
      • 继承
      • New
      • Object.create
    • 函数表达式与函数式编程
      • 递归
      • 闭包
      • this
      • 箭头函数
      • 高阶函数
      • 由函数构建函数
      • 纯度、不变性和更改政策
      • 基于流的编程
      • 无类编程
      • 函数基本应用
    • 语法规则
      • ESlint
  • 进阶知识
    • 算法应用
      • 基本排序算法
        • 冒泡排序
        • 选择排序
        • 插入排序
        • 希尔排序
        • 归并排序
        • 快速排序
    • 模块化
      • AMD
      • CommonJS
      • ES6模块化
    • 应用
      • Socket.io库
      • async+await异步调用
      • axios
    • 设计模式
    • 性能优化
    • 工具
      • 时间操作
    • 异常监控
    • 安全🔐
      • XSS
      • CSRF
    • 跨域
      • 跨域
      • 跨域方法
        • Hash
        • JSONP
        • CORS
        • XDomainRequest
由 GitBook 提供支持
在本页
  • 从基础知识到JS-Web-API
  • 特点
  • JS-Web-API
  • 基本操作
  • 总结
  • BOM操作

这有帮助吗?

  1. 基础知识

BOM

从基础知识到JS-Web-API

  • 变量类型和计算

  • 原型和原型链

  • 闭包和作用域

  • 异步和单线程

  • 其他(如日期、Math、各种常用API)

特点

  • 特点:表面上来看不能用于工作中开发代码

  • 内置函数:Object Array Boolean String ......

  • 内置对象:Math JSON ...

  • 我们连在网页弹出一句Hello World都不能实现

JS-Web-API

  • JS基础知识:ECMA 262标准

  • JS-Web-API:W3C标准

  • W3C标准中关于JS的规定有:

    • DOM操作

    • BOM操作

    • 事件绑定

    • ajax请求(包含http协议)

    • 存储

基本操作

  • 页面弹框是windows.alert(123),浏览器需要做:

    • 定义一个windows全局变量,对象类型;

    • 给它定义一个alert属性,属性值是一个函数;

  • 获取元素document.getElementById(id),浏览器需要:

    • 定义一个document全局变量,对象属性;

    • 给它定义一个getElementById的属性,属性值是一个函数;

  • W3C标准没有规定任何JS基础相关的东西;

  • 不管什么变量类型、原型、作用域和异步

  • 只管定义用于浏览器中JS操作页面的API和全局变量

  • 全面考虑,JS内置的全局函数和对象有哪些?

  • 之前ECMA的

  • 比如 window document

  • 所有未定义的全局变量,如navigator.userAgent

总结

  • 常说的JS(浏览器执行的JS)包含两个部分:

  • JS基础知识(ECMA262标准);

  • JS-Web-API(W3C标准);

BOM操作

  • Browser Object Model

    如何监测浏览器的类型

    拆解url的各部分

    知识点

  • navigator & screen

//navigator
var ua = navigator.userAgent;
var isChrome = ua.indexOf('Chrome');
console.log(isChrome);
//screen
console.log(screen.width);
console.log(screen.height);
  • location & history

//location
console.log(location.href);
console.log(location.protocel);
console.log(location.pathname);
console.log(location.search);
console.log(location.hash);
//history
history.back();
history.forward();
上一页Map类型(ES6)下一页window对象

最后更新于4年前

这有帮助吗?