YDKJS读书笔记
程序的本质就是语句的集合,只不过按照顺序进行排列了而已。
语句包含表达式,表达式包含代码,程序由语句组成。
interpreter,解释器;compiler,编译器;他们的职责就是将对人友好的语句翻译成计算机能够理解的指令。
区别
解释器:程序开始运行,由上到下,一行一行执行(点了菜,开始做菜,需等待一段时间才能吃上)
编译器:程序还没执行,已经翻译成了计算机指令(还没点菜,菜已经做好,点了菜立马能吃上)
常见的编程语言执行过程:
JavaScript,python 解释器
Java,C,C++ 编译器
浏览器中使用console来书写并执行js代码,换行为shift+enter,enter即执行代码。
在address bar输入about:blank来进行练习是一个好的习惯!
coding(敲代码)是学习编程最好的方式。
snippet 片段
输出:
学习建议使用console.log()语句,其中,console.是对象引用(object reference),log()是函数调用(function call)。
输入:
使用prompt(...)函数
传入prompt()的信息将会在弹窗(popup)中打印出来。
例如:
age = prompt("please tell me your age: ");
console.log(age);
VM187:2 22
用户输入的信息将会赋值给age变量,然后通过console.log(...);语句打印出来。
Operators
* 乘法操作符
= 分配(assign)操作符,先计算=右边的表达式,然后将值赋给=左边的变量,这种操作的方式可能与通常的习惯相反,只能慢慢习惯他了。
Here are some of the most common operators in JavaScript:
Assignment: = as in a = 2.
Math: + (addition), - (subtraction), * (multiplication), and / (division), as in a * 3.
Compound Assignment: +=, -=, *=, and /= are compound operators that combine a math operation with assignment, as in a += 2 (same as a = a + 2).
Increment/Decrement: ++ (increment), -- (decrement), as in a++ (similar to a = a + 1).
Object Property Access: . as in console.log().
Objects are values that hold other values at specific named locations called properties. obj.a means an object value called obj with a property of the name a. Properties can alternatively be accessed as obj["a"]. See Chapter 2.
Equality: == (loose-equals), === (strict-equals), != (loose not-equals), !== (strict not-equals), as in a == b.
See "Values & Types" and Chapter 2.
Comparison: < (less than), > (greater than), <= (less than or loose-equals), >= (greater than or loose-equals), as in a <= b.
See "Values & Types" and Chapter 2.
Logical: && (and), || (or), as in a || b that selects either a or b.
These operators are used to express compound conditionals (see "Conditionals"), like if either a or b is true.
直接写在源代码中的值又叫做文字(literal)。
转换字符串为数字:
c = Number(b)
32
转化数字为字符串:
c = String(3)
"3"comment(注释;评论)
JavaScript的变量是属于动态类型,也就是说可以包含任何类型的值。
implicitly coerce 暗中强制
constants 常量
a = 32.2341
32.2341
console.log(a.toFixed(3))
VM293:1 32.234
undefined
toFixed(...)保留3位小数。
const TAX_RATE = 0.08;
var amount = 99.99;
ES6中采用const来声明常量
{...}区块,后面不需要接分号;
loop 循环
函数 代码section段
multiple 多
函数有范围这个概念,范围可以嵌套,比如范围A包括范围B,B可以使用A中的变量,但是A不能使用B中的变量。
内部可以访问外部,外部不能访问内部。
Only values have types in JavaScript; variables are just simple containers for those values.
变量只是个容器,变量是没有类型这一说法的!变量包含的值才有类型。
a = null;
null
typeof a
"object"
javascript的value types有以下七种:
字符串、数字、布尔、undefined、null、object、symbol
Built-in Type Methodswrapper forms 封装形式
The specific list of "falsy" values in JavaScript is as follows:
"" (empty string)
0, -0, NaN (invalid number)
null, undefined
false
Any value that's not on this "falsy" list is "truthy." Here are some examples of those:
"hello"
42
true
[ ], [ 1, "2", 3 ] (arrays)
{ }, { a: 42 } (objects)
function foo() { .. } (functions)
reserved words 保留字
strict mode可以向下继承,但是不能向上继承。
"use strict"
不能省略var关键字
执行函数的第二种方式
(function IIFE(){
console.log( "Hello!" );
})();
closure 闭合
this不是指向函数本身,他是指向一个对象。
YDKJS读书笔记的更多相关文章
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
- LOMA280保险原理读书笔记
LOMA是国际金融保险管理学院(Life Office Management Association)的英文简称.国际金融保险管理学院是一个保险和金融服务机构的国际组织,它的创建目的是为了促进信息交流 ...
- 《3D Math Primer for Graphics and Game Development》读书笔记2
<3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ...
- 《3D Math Primer for Graphics and Game Development》读书笔记1
<3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...
随机推荐
- SD 一轮集训 day3 染色(color)
蜜汁打表题.. (首先L=1和L=N的情况过于傻逼(而且是特殊情况),可以先写出来,然后剩下的L的做法在下面) 首先你要写一个打表程序,找出{1,2,....,n} 乘若干个 循环唯一的轮换可以搞出的 ...
- AGC 025 B - RGB Coloring
B - RGB Coloring Time limit : 2sec / Memory limit : 1024MB Score : 700 points Problem Statement Taka ...
- Codeforces 915 G Coprime Arrays
Discipntion Let's call an array a of size n coprime iff gcd(a1, a2, ..., an) = 1, where gcd is the g ...
- POJ 2226 Muddy Fields (二分图匹配)
[题目链接] http://poj.org/problem?id=2226 [题目大意] 给出一张图,上面有泥和草地,有泥的地方需要用1*k的木板覆盖, 有草地的地方不希望被覆盖,问在此条件下需要的最 ...
- 7zip File: How to Uncompress 7z files on Ubuntu, Debian, Fedora
转:http://www.thegeekstuff.com/2010/04/7z-7zip-7za-file-compression/ Question: How do I uncompress a ...
- TSynDBDataSet内存表
TSynDBDataSet内存表 SynDBMidasVCL.pas TSynDBDataSet = class(TCustomClientDataSet) Props := TSQLDBSocket ...
- jQuery用noConflict代替$
js框架很多的情况下,很容易出现冲突,建议使用noConflict代替$ //消除$对jquery缩写 $.noConflict(); //使用了noConflict后,用$就会无效,应用jQuery ...
- pdf.js 添加自定义loading动画
最近做了个手机端pdf预览的功能,用到pdf.js这个库,效果还不错.但是在网络差.文件大时,页面一直空白,体验不是很好. 于是加了个loading动画. <div id="loadi ...
- 【前端自动化构建 grunt、gulp、webpack】
参考资料: 用自动化构建工具增强你的工作流程!:http://www.gulpjs.com.cn/ gulp详细入门教程:http://www.ydcss.com/ JavaScript构建(编绎)系 ...
- 在Dell XPS 13安装WIN10和ubuntu双系统
新入了Dell的XPS 13超级本,之所以买这个本子,就是看中它轻便且续航持久.这款本子也是为数不多的能够和苹果的13'' mac book air一较高下的本子.在重量上,占地面积和综合性价比上,还 ...