程序的本质就是语句的集合,只不过按照顺序进行排列了而已。

语句包含表达式,表达式包含代码,程序由语句组成。

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读书笔记的更多相关文章

  1. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  2. 读书笔记--SQL必知必会18--视图

    读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...

  3. 《C#本质论》读书笔记(18)多线程处理

    .NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...

  4. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

  5. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  6. Web高级征程:《大型网站技术架构》读书笔记系列

    一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...

  7. LOMA280保险原理读书笔记

    LOMA是国际金融保险管理学院(Life Office Management Association)的英文简称.国际金融保险管理学院是一个保险和金融服务机构的国际组织,它的创建目的是为了促进信息交流 ...

  8. 《3D Math Primer for Graphics and Game Development》读书笔记2

    <3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ...

  9. 《3D Math Primer for Graphics and Game Development》读书笔记1

    <3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...

随机推荐

  1. 北京DAY1下午

    省选模拟题 周子凯 题目概况 中文题目名 简易比特币 计算 路径 英文题目名 bit calculation Path 输入文件名 bit.in calculation.in path.in 输出文件 ...

  2. 【枚举】Codeforces Round #394 (Div. 2) C. Dasha and Password

    纪念死去的智商(虽然本来就没有吧……) 三重循环枚举将哪三个fix string作为数字.字母和符号位.记下最小的值就行了. 预处理之后这个做法应该是O(n^3)的,当然完全足够.不预处理是O(n^3 ...

  3. 1.6(学习笔记)Session

    一. Session简介 Session是用于解决HTTP无状态问题,HTTP协议本身是没有状态的, 就类似一个没有记性的商人,每次只交易当前的货物,交易完后就忘记了 以前的交易历史.我们和商人交易时 ...

  4. 取代Promise的Generator生成器函数

    接触过Ajax请求的会遇到过异步调用的问题,为了保证调用顺序的正确性,一般我们会在回调函数中调用,也有用到一些新的解决方案如Promise相关的技术. 在异步编程中,还有一种常用的解决方案,它就是Ge ...

  5. PostgreSQL配置文件--连接和认证

    1 连接和认证 CONNECTIONS AND AUTHENTICATION 1.1 连接 CONNECTIONS 1.1.1 listen_addresses 字符型 默认: listen_addr ...

  6. ubuntu中wifi显示被硬件禁用的解决方法

    本人使用的电脑是华硕X550C,安装了ubuntu16.04版本. 联网的时候显示“wifi已经通过硬件开关禁用”.按Fn+F2无法开启wifi.通过rfkill命令无法也无法开启wifi. 经过了解 ...

  7. 【IE兼容性】background:transparent IE中Bug,不能选中input输入框,出现这个问题主要是IE8

    先解释下,background:transparent,默认在IE上会被解析成 background: none transparent scroll repeat 0% 0% transparent ...

  8. linux ps 命令的结果中VSZ,RSS,STAT的含义和大小

    linux ps 命令的结果中VSZ,RSS,STAT的含义和大小 ps是linux系统的进程管理工具,相当于windows中的资源管理器的一部分功能. 一般来说,ps aux命令执行结果的几个列的信 ...

  9. World Wind Java开发之三 显示状态栏信息

    先来看下本篇博客索要达到的效果: 找到源代码下的gov.nasa.worldwind.util下的StatusBar.java文件,能够看到状态栏显示的信息主要包含视点高度以及相应空间点三维坐标以及是 ...

  10. Django——静态文件配置

    本文目的 最近用django开发项目,发现django的静态文件(js,css和img等)配置比较麻烦,开发环境和生产环境的配置还不一样,这里记录一下,作为备忘.我当前使用的版本是django v1. ...