>>>>> JS中的一些注意事项

  • 变量声明提前但赋值是不会提前的
  • 从html中获取的值,基本都是字符串类型,数字也不例外
  • 函数传参时,位置要一 一对应
  • 获取src时,路径可能是绝对路径,最好不要用来作判断
  • 获取的颜色值,不同浏览器返回的值可能是不同的(关键字‘red’,rgb(),或#111),所以最好不要用来作判断
  • 空格也是文本节点,受空格影响,我们最好不要用innerHTML来作判断
  • 判断时,除了undefined、null、NaN、0、‘’ 其他都为true
  • removeChild()只是移除htmldom树,但是,在内存中依然存在
  • appendChild()如果是原有的元素则执行的是剪切的操作
  • children 、nextElementSubling 、parentNode、、获取元素都是只读的,不可写
  • 通过TagName、ClassName获取的元素是一个类数组的结构,但不是数组,数组的一些属性和方法对它不适用
  • 通过setAttribute设置的表单value,会影响原型property的value,所以对于表单的value最好使用DOM的property来读写
  • 空数组([])和空对象({})对应的布尔值,都是true。
  • object有两种读取属性的方法----(1)点.操作符;(2)obj[attribute] // []中可以传入一个变量,可读性更高
  • this在不同的地方,其代表的意义都是不同的
  • +有两个作用---1、拼接;2、加法运算
  • 一个=为赋值,==才是相等,===是全等
  • 在页面插入元素是非常耗时的,所以我们一般都是先将元素保存在内存中,在进行插入,增加代码执行率
  • 函数作用域跟定义位置相关,跟调用无关;在函数内部使用window定义一个全局变量,当函数调用时,这个变量才能生效
  • 变量在声明的时候就标明了它的类型,而且不能改变时,我们称为强类型,它的值只有一个
  • NaN和任何值都不相等,包括自己
  • switch语句进行比较的时候是全等于(===)操作,不会发生类型转换
  • for-in一般用于遍历对象的属性,遍历出来的属性的顺序不是固定的
  • 获取样式时,最好不要获取复合的样式(backgroung,font、、、),采用驼峰命名的具体属性获取,没有设置的属性值就不要获取了
  • 数组的几种增加删除方法(pop、shift、push、 splice、、),基本都会改变原数组,使用时应当注意
  • 事件冒泡与样式无关,与html结构相关
  • 能够响应用户输入的元素,能够接收焦点的元素才能够接收键盘事件
  • JS原生对象和JQ对象是不同的,不能混用其方式方法
  • 因为ID具有唯一性,所以通过ID获取元素都是在document下获取,不存在在哪一个下面来获取它
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容