JavaScript语言精粹读书笔记
JavaScript运算符优先级
运算符的优先级,依次降低
运算符 | 含义 |
---|---|
. [] () | 提取属性与调用函数 |
delete new typeof + - ! | 一元运算符 |
* / % | 乘法、除法、求余 |
+ - | 加法/连接、减法 |
>= <= > < | 不等式运算符 |
=== !== | 等式运算符 |
&& | 逻辑与 |
|| | 逻辑或 |
?: | 三元 |
对象
对象字面量
对象字面量中,如果属性名是一个合法的JavaScript标识符且不是保留字,则不强制要求用引号括住。
var stooge = {"first-name": "Joe" //必须括住number: 100 //可选括住
}
检索属性值
检索对象里包含的值,采用[]的方式,如果属性名是合法的JavaScript标识符且不是保留字,则优先考虑使用 . 表示法
stooge["first-name"]
flight.departure.IATA
对象引用
对象通过引用来传递,永远不会被复制,指向同一个对象
var x = stooge
x.nickname = 'curly'
var nick = stooge.nickname // nick === x.nickname
原型
JavaScript中,每个对象都连接到一个原型,并且可以从中继承属性。所有通过字面量创建的对象都能连接到Object.prototype,它是JavaScript中的标配对象。
var obj = Object.create(superObj) //obj是一个原型为superObj的对象
枚举属性
使用
for...in
来遍历一个对象中所有的属性名,使用hasOwnProperty
方法过滤掉原型链中的属性
var name
for(name in stooge){if(stooge.hasOwnProperty(name)){}
}
通过
for..in
遍历的属性顺序是不确定的,因此一般对处理成数组并加以使用。
删除
delete运算符可以用来删除对象的属性,如果对象包含属性,则该属性被移除,它不会触及到原型链中的对象
var obj ={name: 'Joe'
}
delete obj.name
函数调用
函数调用的模式有4种:方法调用模式、函数调用模式、构造函数调用模式、apply调用模式,调用模式不同,this也不同
- 方法调用模式:this指向调用方法的对象
- 函数调用模式:this指向全局的方法
- 构造器调用模式:this指向new的对象
- apply调用模式:this指向第一个参数,如果第一个参数为null,则指向全局
JavaScript语言精粹读书笔记相关推荐
- 精通javascript、javascript语言精粹读书笔记
于是选择两本书做最后的冲刺: 精通javascript(jquery之父著作),javascript语言精粹.希望我也能成为一个javascript的好手. Dom Elements的属性 精通jav ...
- JavaScript 语言精粹读书笔记
最近在看 赵泽欣 / 鄢学鹍 翻译的 蝴蝶书, 把一些读后感言记录在这里. 主要是把作者的建议跟 ES5/ES5.1/ES6 新添加的功能进行了对比 涉及到的一些定义 IIFE: Immediatel ...
- JavaScript语言精粹-读书笔记(1)
JS 语言精粹 蝴蝶书 点击链接下载电子书 这本书需要基本的JS基础和一定的经验.第一次看感觉很普通,工作一段时间后发现这本书很多细节很重要.这本书基于 ECMA3版本写的,现在已经普遍使用ECMA6 ...
- JavaScript语言精粹--读书笔记三之replace()与正则
今天有人问我repalce(),他那个题目很有意思.我也不会做,于是我就去查,结果发现就是最基础的知识的延伸. 所以啊最基础的知识才是很重要的,千万不能忽略,抓起JS就写代码完全不知到所以然,只知道写 ...
- 学习javascript语言精粹的笔记
1.枚举: 用for in 语句来遍历一个对象中所有的属性名,该枚举过程将会列出所有的属性也包括涵数和方法,如果我们想过滤掉那些不想要的值,最为常用的过滤器为hasOwnProperty方法,以及使用 ...
- 《JavaScript语言精粹》笔记
思考:lambda表达式 函数本质就是一个表达式, 普通的函数有函数名,函数名就像一部手机的标签, 撕去手机的标签,仍是一部手机. 第一章:精华 JavaScript建立在一些非常好的想法和少数非常坏 ...
- Javascript语言精粹学习笔记之对象
一.Javascript的简单类型包括 1.数字 number JS 不分整型与浮点型 两个浮点数相加,精度不够 2.字符串 string 3.布尔值 boolean true和false 4.nul ...
- 《JavaScript语言精粹 修订版》 读书笔记
之前看到这篇文章, 前端网老姚浅谈:怎么学JavaScript?,说到怎么学习JavaScript,那就是 看书.分析源码. 10本书读2遍的好处,应该大于一本书读20遍. 看书主动学习,看视频是被动 ...
- 《javascript语言精粹》读书笔记——函数
这几天发现了一本好书,又薄又精辟,<JavaScript语言精粹> 看了对象.函数这两节,发现书如其名,确实是精粹. 函数的调用 函数调用的方式有四种: - 方法调用模式 - 函数调用模式 ...
最新文章
- mysql 开发模式_搭建mysql主從模式
- [osgearth][原]仿照谷歌,修改oe漫游器中focal(视角切换)功能
- JAVA Swing——设置JButton按钮样式
- 我回答的一个粉丝关于用编程语言模拟SAP事务的问题
- 关于去苹果服务器验证充值的一些看法
- java 使用jar_Java 使用JAR文件
- ELK结合Beats工具的搭建使用(Metricbeat、Filebeat、Topbeat)
- 【Shell脚本学习指南笔记】重定向文件描述符 21
- STM32F407概述
- php js轮播图片代码,html中用JS实现图片轮播的实例代码
- Programer四境界-摘自《代码大全》
- 设置标题栏背景色,背景色是自定义背景色
- Appium 自动化测试 手机操作
- Latex公式内行间距,字体大小控制
- 用tkinter实现BMI计算
- 基于深度学习目标检测和人体关键点检测的不健康坐姿检测
- springsecurity忽视拦截静态资源
- acm-(好题、神题)2020-2021 Winter Petrozavodsk Camp, Day 5 B.Lockout vs tourist
- excel表格分割线一分为二_PDF转Excel的Python代码
- PATA1024_大整数运算(难度:⭐️⭐️)
热门文章
- 项目章程的主要内容#软考高级信息系统项目管理师/高项读书笔记#3
- 【运维心得】wps云文档被其他程序锁定了怎么办?
- Fabric2.2 error 总结:WARN 0cf access denied: channel expected MSP ID Org1MSP, received Org3MSP channel
- 硬件架构的艺术:同步FIFO设计
- SpringBoot应用监控SpringBoot+Prometheus+Grafana
- Lab: Xv6 and Unix utilities sleeppingpong
- vmagent入门(一)
- Ubuntu 20 core dumped(核心已转储)问题分析
- 我是主考官7:他为什么没有被录取
- IEEE pdf eXpress 报错Font TimesNewRomanPSMT is not embedded