JS 开发中不常用但需要了解的知识点

ng-style

AngularJS 用于添加样式
所有 HTML 元素都支持该属性
接收由 css 属性组成键值对对象值

ng-class

接收由字符串设置为 class 值
接收数组转换为字符串以空格隔开设置为 class 值
接收键值对象设置值为 true 的键为 class 值

reflow(回流)和repaint(重绘)

reflow 回流 无法避免,当界面影响布局元素改动会触发(折叠、展开、改变窗口、改变文字、设置 style、计算 offsetWidth 等)回流通常无法预测
repaint 重绘在不改变界面布局情况下触发,改变背景色、文字颜色、边框颜色等。repaint 速度明显快于 reflow

primitive(原始值、原始数据类型)

primitive 代指原始数据类型,指包括string,number,bigint,boolean,null,undefined和symbol在内的不可变值

Symbol

ES6 新增特性且没有 ES5 等效写法
通过 Symbol 动态生成一个匿名的唯一值,创建时可只配描述符号
描述符号不会自动转换字符串类型,同时相同描述符号创建的值不相等
Symbol 是primitive(原始值、原始数据类型)
Symbol() 返回的每个符号值都是唯一的
符号之用作对象属性的标识符,这是该数据类型的唯一目的

迭代符号

Symbol.iterator 一种返回对象的默认迭代器的方法,由 for of 使用
ES6 内置 String、Array、Map、Set 等,代表以上数据结构可作用于 for of

DNS

域名系统(Domain Name System)是互联网的一项服务。它作为将域名解析为IP地址,使人更方便地访问互联网
DNS 使用TCP和UDP端口53,对每一级域名长度限制63个字符,域名总长度不超过253个字符

noscript 标签

noscript 标签用来定义脚本未被执行时的内容,如下:

<body>
  ...
  ...

  <script type="text/javascript">
    <!--
    document.write("Hello World!")
    //-->
  </script>

  <noscript>Your browser does not support JavaScript!</noscript>
  ...
  ...
</body>

以下情况会被显示:
1.浏览器不支持 JS 脚本
2.浏览器支持 JS 脚本,但是脚本被禁用