• 如何衡量一个人的 JavaScript 水平


    基础
    1,什么是命名空间,变量污染,变量声明提升,预编译?如何检查一段代码执行后是否声明了全局变量?
    2,隐式转换的种种规则
    3,关于对象,对象的属性可能有哪些特性(attribute)?什么是原型链?如何检测某一属性是在对象中还是原型链中?如何检测是否是普通对象或空对象?写一个工厂模式?(工厂模式也有很多细节,具体可以参考《javascript模式》一书,不是《javascript设计模式》)
    4,变量类型检测、特性检测以及异常避免
    5,setTimeout的特性
    6,数组几个API的手工实现
    7,事件
    8,正则表达式,至少要明白$1和1的意思和几个API的用法。
    9,javascript如何获得随机unicode字符?
    10,JSON.parse的参数传一个什么对象的时候不能处理?(可以试试JSON.parse(window))
    11,fn.apply的第一个参数是context(函数运行的上下文),那么这个参数传一个数组会怎么处理?
    DOM操作
    1,实现一些API如getElementsByClass(有很多细节,参见司徒正美的博客)
    2,各种宽度高度(clientHeight之类)的含义及各浏览器之间的差异性
    3,实现一个带回调函数的插入DOM节点API(须考虑script标签、documentFragment)
    CSS操作
    1,如何操作CSS的伪类和伪元素?
    2,如何检测改浏览器是否支持某个CSS3的特性? 
    ajax操作
    1,get和post的区别及使用要点
    2,http协议,包括格式、状态码,cookie操作
    3,跨域
    4,转换JSON的几种方式,JSON.stringfy有什么使用限制?

    性能
    1,javascript有哪些性能优化的措施?可看《高性能javascript》 

    综合:各种插件的设计思路

  • 相关阅读:
    HTML5存储
    HTML5 地理位置定位(Geolocation)原理及应用
    HTML5多媒体组件的使用
    HTML5拖拽
    HTML5一些总结
    js高级程序设计--数据类型
    JS高级程序设计基本概念
    浏览器内核、渲染引擎、js引擎
    JS高级程序设计笔记之script标签
    CenOS7下安装 nginx
  • 原文地址:https://www.cnblogs.com/jsmiao/p/4537872.html
Copyright © 2020-2023  润新知