1、setTimeout(function(num){

  alert(num);},1000,123);

第三个参数为实参。

2、拼接字符串:

  document.body.innerHTML = '<div>div</div>'+

          '<span>span</span>'+

          '<p>p</p>'

  换行的另一种做法:

  

 document.body.innerHTML = '<div>div</div>\

         '<span>span</span>\

          <p>p</p>'

  加上反斜杠

3、console.log()添加样式

  eg:

  var a = 'hello';

  console.log('%c'+a,'font-size:40px;background:blue;')

4、双层for 循环跳出:

  a : for(var i=0;i<5;i++){

    for(var j=0;j<1;j++){

      if(i==3){

        break a;

        }

      alert(i);}

    }

  即可跳出第一层循环。

5、for循环省略参数

  var i = 0;

  for(;;){

  alert(i);

  if(++i>=5){

  break;

    }

  }

6、立即执行函数写法

  除了写成(function(){})()这种样式

  还可以写成~function(){}()

  或者写成   !function(){}()

7、document.querySelectorAll('div')

  document.querySelector('div')

  

  两个方法使用差不多的语法,都是接收一个字符串参数,这个参数需要是合法的CSS选择语法。

  element = document.querySelector('selectors');
  elementList = document.querySelectorAll('selectors');

  其中参数selectors 可以包含多个CSS选择器,用逗号隔开。

  element = document.querySelector('selector1,selector2,...');
  elementList = document.querySelectorAll('selector1,selector2,...');

  使用这两个方法无法查找带伪类状态的元素,比如querySelector(':hover')不会得到预期结果。

  querySelector

  该方法返回满足条件的单个元素。按照深度优先和先序遍历的原则使用参数提供的CSS选择器在DOM进行查找,返回第一个满足条件的元素。

  element = document.querySelector('div#container');//返回id为container的首个div
  element = document.querySelector('.foo,.bar');//返回带有foo或者bar样式类的首个元素

  querySelectorAll

  该方法返回所有满足条件的元素,结果是个nodeList集合。查找规则与前面所述一样。

  elements = document.querySelectorAll('div.foo');//返回所有带foo类样式的div
8、array两个方法
  
array.forEach(function(currentValue, index, arr), thisValue)
  function(currentValue,index,arr)---->必须参数,数组中每个元素调用的函数。
  currentValue 必需。当前元素
  index 可选。当前元素的索引值。
  arr 可选。当前元素所属的数组对象。
  thisValue 可选。传递给函数的值一般用 "this" 值。如果这个参数为空,“undefined”会传递给"this"值

   Array.from方法可以将 Set 结构转为数组。

  const items = new Set([1, 2, 3, 4, 5]);
  const array = Array.from(items);
 
 

-------------------------------------------------------------

ES6的set

<!DOCTYPE html>

<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
const s = new Set();
[2,3,5,4,5,2,2].forEach(x => s.add(x));
for(let i of s){
console.log('%c'+i,'font-size:400%;background:blue');
}
//set结构不会添加重复的值
// 例一
const set = new Set([1, 2, 3, 4, 4]);
alert([...set]);
// [1, 2, 3, 4]

// 例二
const items = new Set([1, 2, 3, 4, 5, 5, 5, 5]);
alert(items.size) // 5

// 例三
// function divs () {
// return [...document.querySelectorAll('div')];
// }
//document.querySelectorAll('div')选取所有的div元素

// const set = new Set(divs());
// set.size // 56

// 类似于
// divs().forEach(div => set.add(div));
// set.size // 56

//数组去重 [...new Set(array)]
//向 Set 加入值的时候,不会发生类型转换,所以5和"5"是两个不同的值。Set 内部判断两个值是否不同,使用的算法叫做“Same-value equality”,它类似于精确相等运算符(===),主要的区别是NaN等于自身,而精确相等运算符认为NaN不等于自身。

console.log(NaN===NaN); //false

// 两个对象总是不相等的。

// let set = new Set();

// set.add({});
// set.size // 1

// set.add({});
// set.size // 2
// 上面代码表示,由于两个空对象不相等,所以它们被视为两个值。

// Set 实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员)。下面先介绍四个操作方法。

// add(value):添加某个值,返回 Set 结构本身。
// delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
// has(value):返回一个布尔值,表示该值是否为Set的成员。
// clear():清除所有成员,没有返回值。
</script>
</body>
</html>

js小知识点的更多相关文章

  1. JS小知识点----基本包装类型和引用类型

    var s1 = "some text"; s1.color = "red"; alert(s1.color);  //弹出 underfined var s1 ...

  2. 日常css和js小知识点记录

    2015-6-29 1.<meta name="viewport" content="width=device-width,user-scalable=no&quo ...

  3. 一些js小知识点整理

    string.substring(a,b)   从a点开始截取,到b点结束 string.substr(a,b)    从a点开始截取,截取b个 BOM的四个对象,navigator.screen.l ...

  4. js中关于value的一个小知识点(value既是属性也是变量)

    今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻. [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" v ...

  5. 【转】HTML5的小知识点小集合

    html5的小知识点小集合 html5知识   1.  Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于<h ...

  6. html5的小知识点小集合

      html5的小知识点小集合 html5知识   1.  Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于< ...

  7. JS重要知识点

    这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原 ...

  8. 一些js小题(一)

    一些js小题,掌握这些对于一些常见的面试.笔试题应该很有帮助: var a=10; function aa(){ alert(a); } function bb(){ aa(); } bb();//1 ...

  9. JS重要知识点(转载 学习中。。。)

    这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原 ...

随机推荐

  1. the server responded with a status of 414 (Request-URI Too Large)

    nginx 配置不当,前端ajax调用报错: the server responded with a status of 414 (Request-URI Too Large) 浏览器F12报错如下: ...

  2. Unity LayerMask

    Unity用int32的每一位表示32个层,int32用二进制有32位,Layers通常被摄像机用来渲染部分场景,和灯光照射部分场景使用.但是它们也可以用来做射线检测时忽略一些collder或Coll ...

  3. 【蓝桥杯单片机02】LED的基本控制

    [蓝桥杯单片机02]LED的基本控制 广东职业技术学院  欧浩源 在CT107D单片机综合训练平台实现LED的基本控制和其他单片机开发平台不一样,不单单是控制几个LED实现跑马灯这么简单.因为在这个平 ...

  4. mysql下优化表和修复表命令使用说明(REPAIR TABLE和OPTIMIZE TABLE)

    REPAIR TABLE `table_name` 修复表 OPTIMIZE TABLE `table_name` 优化表 show create table tablename   表结构 REPA ...

  5. webzip怎么用 如何用webzip下载整个网站?

    相信很多站长对webzip这款软件都并不感到陌生,它功能强大,能够完整下载网站的内容,或者你也可以选择自行设置下载的层数.文件类型.网页与媒体文件的定位等等.具体详情你可以在百度上去搜一下.由于web ...

  6. Rootkit 核心技术——利用 nt!_MDL(内存描述符链表)突破 SSDT(系统服务描述符表)的只读访问限制 Part I

    -------------------------------------------------------- 在 rootkit 与恶意软件开发中有一项基本需求,那就是 hook Windows ...

  7. ngRx 官方示例分析 - 1. 介绍

    ngRx 的官方示例演示了在具体的场景中,如何使用 ngRx 管理应用的状态. 示例介绍 示例允许用户通过查询 google 的 book  API  来查询图书,并保存自己的精选书籍列表. 菜单有两 ...

  8. Android-第二天(2)

    程序3 SimpleAdapter是扩展性最好的适配器,可以定义各种你想要的布局,而且使用很方便 SimpleAdapter(Context context, List<? extends Ma ...

  9. 一篇文章帮你解决python的包管理

    写python代码的人都知道,一个项目写下下来,不可避免的都需要使用很多第三方包,通常我们都是通过pip install ,然而当我们需要上线的时候问题来了,如果中间你自己不记得自己安装了多少个包,这 ...

  10. SpringMvc4.x--@ControllerAdvice注解

    通过@ControllerAdvice.我们可以将对于控制器的全局配置放置在同一个位置,注解了@ControllerAdvice的类的方法可以使用@ExceptionHandler,@InitBind ...