zoukankan      html  css  js  c++  java
  • 如何衡量一个人的 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》 

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

  • 相关阅读:
    设计模式之桥接模式
    设计模式之代理模式
    设计模式之原型模式
    设计模式之建造者模式
    设计模式之抽象工厂模式
    设计模式之工厂模式
    设计模式之单例模式
    FR算法(Fruchterman-Reingold)
    zoj 3822 Domination (概率dp 天数期望)
    hdu 5023 A Corrupt Mayor's Performance Art(线段树)
  • 原文地址:https://www.cnblogs.com/jsmiao/p/4537872.html
Copyright © 2011-2022 走看看