zoukankan      html  css  js  c++  java
  • 知识点

    1.DOMContentLoad和load

    1.DOMContentLoaded是HTML文档(CSS、JS)被加载以及解析完成之后触发(即 HTML->DOM的过程完成 );

    2.load需要在页面的图片、视频等加载完后被触发,而DOMContent不需要等待这些资源加载完成;

    ready

    1.调用dom.ready时,先判断下dom是否ready了,如果dom已经ready,则直接执行函数,否则,推入readyList数组等待执行。

     2.判断domready,标准浏览器下,有document.DOMContentLoaded事件表明domready,而IE下,则通过doScroll来模拟,原理是在IE中,任何DOM元素都有一个doScroll 方法。当documentElement可以调用doScroll时,证明dom加载完成了

    2.javascript的本地对象,内置对象和宿主对象分别是什么

    本地对象:Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError

    内置对象:内置对象有自己的特点,那就是无需使用new +构造函数创建,而是JavaScript引擎初始化的时候就被创建。比如Global对象和Math对象

    3.宿主对象

    所有的BOM和DOM对象都是宿主对象。window  Document

    3.ECMAScript 5中的Object.getPrototypeOf() 函数

    function Obj() {
        this.name = 'abc';
    }
    
    Obj.prototype.fullName = 'function(){
      console.log(123)
    }'; var obj = new Obj(); console.log( obj.__proto__.fullName ); console.log(Object.getPrototypeOf( obj) === obj.__proto__ );

    4.严格模式

    严格模式是什么

    1.为了消除JavaScript语法的不合理不严谨之处,减少怪异行为

    2.消除代码运行的不安全之处,保证代码安全执行

    3.提高编译效率,增加运行速度

    4.为未来新版本的JavaScript做好铺垫

    使用严格模式
    'use strict';

    内容

    • 变量必须先声明后使用
    • 函数参数不能有同名属性,否则报错
    • 不能使用with
    • 不能对只读属性赋值,否则报错
    • 不能使用前缀0表示八进制数,否则报错
    • 不能删除不可删除的属性,否则报错
    • 不能删除变量delete prop,会报错,只能删除属性delete global[prop]
    • eval不会在它的外层作用域引入变量
    • eval和arguments不能被重新赋值
    • arguments不会自动反映函数参数的变化
    • 不能使用arguments.callee
    • 不能使用arguments.caller
    • 禁止this指向全局对象
    • 不能使用fn.caller和fn.arguments获取函数调用的堆栈
    • 增加了保留字(protected,static,interface)
    严格模式声明的范围取决于其上下文。 如果在全局上下文(函数的范围之外)中声明严格模式,则程序中的所有代码都处于严格模式。如果在函数中声明严格模式,则函数中的所有代码都处于严格模式。



  • 相关阅读:
    ubuntu开机启动
    我的linux之路
    继承
    oracle 10g win7 win8 下的安装
    Java 安全检测
    BigDecimal 四舍五入
    Java Map 便利
    java split . |
    java 爬虫 Jsoup
    获取当前路径
  • 原文地址:https://www.cnblogs.com/zhanghaifeng123/p/12039079.html
Copyright © 2011-2022 走看看