js小知识点
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小知识点的更多相关文章
- JS小知识点----基本包装类型和引用类型
var s1 = "some text"; s1.color = "red"; alert(s1.color); //弹出 underfined var s1 ...
- 日常css和js小知识点记录
2015-6-29 1.<meta name="viewport" content="width=device-width,user-scalable=no&quo ...
- 一些js小知识点整理
string.substring(a,b) 从a点开始截取,到b点结束 string.substr(a,b) 从a点开始截取,截取b个 BOM的四个对象,navigator.screen.l ...
- js中关于value的一个小知识点(value既是属性也是变量)
今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻. [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" v ...
- 【转】HTML5的小知识点小集合
html5的小知识点小集合 html5知识 1. Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于<h ...
- html5的小知识点小集合
html5的小知识点小集合 html5知识 1. Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于< ...
- JS重要知识点
这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原 ...
- 一些js小题(一)
一些js小题,掌握这些对于一些常见的面试.笔试题应该很有帮助: var a=10; function aa(){ alert(a); } function bb(){ aa(); } bb();//1 ...
- JS重要知识点(转载 学习中。。。)
这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原 ...
随机推荐
- 分布式计算框架学习笔记--hadoop工作原理
(hadoop安装方法:http://blog.csdn.net/wangjia55/article/details/53160679这里不再累述) hadoop是针对大数据设计的一个计算架构.如果你 ...
- 如何初始化grunt
为什么使用任务运行工具Grunt -- 官方解释 简而言之,自动化.当你处理诸如代码最小化, 代码编译, 单元测试, 代码规范校验等等重复任务时, 你必须要做的工作越少,你的工作就变得越简单.在你完成 ...
- 我在vs文本编辑中常用的快捷键----常更新
1. Ctrl+向上键----文本向上滚动 Ctrl+向下键----文本向下滚动 Ctrl+Enter-----向下增加一行 Ctrl+Shift+Enter-------向上增加一行 2. 避 ...
- [转载]织梦CMS首页调用分类信息栏目及列表方法
原文地址:织梦CMS首页调用分类信息栏目及列表方法作者:小武哥 不懂代码,搜索学习一晚上,都是说调用特定栏目分类信息列表的,用这个代码 {dede:arclistsg row='10' titlele ...
- 基于VUE的九宫格抽奖功能
HTML代码: <template> <div class="luckDraw"> <title-bar :title="title&quo ...
- 基于FPGA的HDMI高清显示接口驱动
HDMI是(High Definition Multimedia Interface)的缩写,意思是高清晰度多媒体接口,是一种数字化视频/音频接口技术,适合影像传输的专用型数字化接口,可同时传送音频和 ...
- javascript中window.location.search的用法和作用。
用该属性获取页面 URL 地址: window.location 对象所包含的属性 属性 描述 hash 从井号 (#) 开始的 URL(锚) host 主机名和当前 URL 的端口号 hostnam ...
- iphone开发笔记目录
http://www.cnblogs.com/syxchina/archive/2012/10/20/2732731.html#2653802
- Linuxc - gdb调试程序
指针实现变量交换值 #include <stdio.h> void change(int *a,int *b) { int tmp = *a; *a = *b;// 将指针a所在地址的值, ...
- JSTL遇到的问题
1.jstl 中不可以用关键字命名 例如class new. 2.jstl取值的问题 如果jstl通过对象.属性取值 属性值中包括特殊字符(例如:31/20180131195356867.txt&qu ...