JavaScript 高级程序设计(第三版)笔记

2018-10-12 admin

tip:本文含部分Es6语法

1.if(a)的自动转换

数据类型    转换为true的值       转换为false的值

Boolean      true              false

String  任何非空字符串         “”(空字符串)

Number  任何非零数字值(包括无穷大)    0和NaN

Object  任何对象                null

Undefined  n/a                undefined

(① n/a(或N/A),是not applicable 的缩写,意思是“不适用”。)

以上是使用Boolean()转换函数方法时会返回的值

在用if(a)判断的时候,首先执行了Boolean(a),然后if判断为真或假。

2.遍历

a.数组(Array)的遍历 数组自带forEach,filter,map等方法可以进行遍历,不同的是,map方法可能会返回undefined。 b.对象(Object)的遍历 (1)for…in var obj={snow:1,bran:2,king:3,nightking:4}; for(let i in obj){ console.log(i+’,’+obj[i]) }

(2)Object.keys(obj)

Object.keys返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含 Symbol 属性)的键名。

var obj = {‘a’: ‘Beijing’, ‘b’: ‘Haidian’}; console.log(Object.keys(obj)); //[‘a’, ‘b’]

tip:补充在遍历对象时可以用的方法 hasOwnProperty:(判断该对象是否包含某属性)

 for in (一般搭配hasOwnProperty来使用) 遍历原型链上可枚举的,
    for (let key in obj) {
            if (obj.hasOwnProperty(key)) {
                console.log('key: ' + key + ',' + 'value: ' + obj[key])
            }
     }

delete:(删除该对象某属性)

 for(var key in student){
    delete student[key];
 }

其他遍历对象的方法: https://blog.csdn.net/qq_3668…

3.DOM扩展

1.HTML DOM querySelector() 方法 querySelector只能选择第一个匹配的节点; 该方法类似JQ: 获取标签:document.querySelector(“body”) 获取ID:document.querySelector("#myDiv") 获取类:document.querySelector(".myDiv") 获取子元素:document.querySelector(“img .myDiv”)

2.HTML DOM querySelectorAll() 方法 querySelectorAll可以选择多个节点,以","分隔开,返回的是个数组; // 获取文档中所有的 <p> 元素 var x = document.querySelectorAll(“p”); // 设置第一个 <p> 元素的背景颜色 x[0].style.backgroundColor = “red”;

4.DOM关于HTML5扩展

1.HTML DOM getElementsByClassName() 方法

该方法返回的是数组 var x = document.getElementsByClassName(“example color”); x[0].style.backgroundColor = “red”;

2.HTML DOM classList 属性

从前DOM添加类的方法: document.getElementById(‘test1’).setAttribute(‘class’,‘class1’)

新方法: document.getElementById(“myDIV”).classList.add(“mystyle”); 为 <div> 元素添加 class: document.getElementById(“myDIV”).classList.add(“mystyle”); 为 <div> 元素添加多个类: document.getElementById(“myDIV”).classList.add(“mystyle”, “anotherClass”, “thirdClass”); 为 <div> 元素移除一个类: document.getElementById(“myDIV”).classList.remove(“mystyle”); 为 <div> 元素移除多个类: document.getElementById(“myDIV”).classList.remove(“mystyle”, “anotherClass”, “thirdClass”);

原文链接:https://segmentfault.com/a/1190000016656889

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-42495.html

文章标题:JavaScript 高级程序设计(第三版)笔记

相关文章
NodeJS参考手册pdf版
下载地址:Nodejs参考手册PDF版下载 ...
2015-11-12
javascript是什么意思
avaScript是Netscape开发的一个对象脚本语言,它使用在世界各地数以百万计的网页和服务器应用程序上。 网景的JavaScript是ecma - 262版的标准脚本语言,和公布的标准只有轻微的差异。 与广为流行的错误理解相反,Ja...
2015-11-12
21天学通javascript
简介: 本书是Javascript入门教程。Javascript是Web开发中应用最早、发展最成熟、用户最多的脚本语言。其语法简洁,代码可读性在众多脚本语言中最好,它在使用时不用考虑数据类型,是真正意义上的动态语言。本书总分为四篇,共21章...
2015-11-16
JavaScript的组成
一个完整的JavaScript由3个部分组成:核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM) ECMAScript 描述了该语言的语法和基本对象 ; DOM 描述了处理网页内容的方法和接口 ; BOM 描...
2015-11-12
JavaScript 事件流、事件处理程序及事件对象总结
JS与HTML之间的交互通过事件实现。事件就是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用监听器(或处理程序)来预定事件,以便事件发生时执行相应的代码。这种在传统软件工程中被称为观察员模式,支持页面的行为与页面的外观之间的松散耦合。...
2017-04-05
JavaScript变量的声明
声明变量 变量在脚本中的首次亮相是在其声明中。 在变量首次出现时将会在内存中设置它,因此您稍后可在脚本中引用它。 应在使用变量之前先声明变量。 可以使用 var 关键字实现此目的。 &lt;span id=“mt9” class=“sent...
2015-11-12
7个提高效率的JavaScript调试工具
鐜板湪鐨凧avaScript浜嬪疄涓婂凡鐒舵垚涓轰簡娴佽�岀殑web璇�瑷€锛屽嵆浣垮畠骞朵笉瀹岀編銆傚緢澶氱▼搴忓憳涓嶅枩娆㈢敤JavaScript鍐欎唬鐮侊紝鏄�鍥犱负鍐欏埌鍚庢潵鎬讳細鍑虹幇鍚勭�嶈帿鍚嶅叾濡欑殑bug锛岃€屼笖鍦ㄥ紑...
2015-11-11
7个让JavaScript变得更好的注意事项
随着浏览器性能提高,伴随着新的HTML5的编程接口的稳步采用,网页上的JavaScript的音量在逐渐增加。然而,一个写得不好的程序编码却拥有着打破整个网站,让用户为之沮丧和驱赶潜在客户的潜力。 开发人员必须使用所有供他们任意使用的工具和技...
2015-11-12
JavaScript短路原理精简代码
js中||和&amp;&amp;的特性帮我们精简了代码的同时,也带来了代码可读性的降低,虽然高效,但请灵活使用。 在js逻辑运算中,0、&quot;&quot;、null、false、undefined、NaN都会判为false,其他都为t...
2015-11-12
《JavaScript快速查询手册》PDF
下载地址:《JavaScript快速查询手册》PDF下载 http://pan.baidu.com/s/130rP8’ 简介: JavaScript快速查询手册 目录 前言 第一部分 命令查询 第二部分 JavaScript语句与运算符 第...
2015-11-16
回到顶部