刷完udacity的JavaScript,我想说……

前言

刷完了udacity上JS的入门课,纯粹为了学习开发小程序而补的前端知识。

一开始在SoloLearn上最先接触的JS,只用了三个小时不到就把证书刷下来了,这毕竟是我在SoloLearn的第一个证书,先炫一下哈!

SoloLearn证书

进入正题,JavaScript起初为了出名特地把名字取得和Java很像,因为Java一直都很火,Java web, 移动开发,服务器。当然如果学过java在去学JS得话,就会感觉者这门语言非常得友好,沿袭了Java的大部分风格,这里就说几点不同吧。

1. 数据类型

1.1自动判断类型。
JavaScript的数据类型

在传统的语言里,要定义变量,都要是使用int ,float , double ,boolean这些关键字,但是在JS里完全不用。直接使用var关键字,变量的数据类型完全由系统自动判断。

#java8,c,c++都要这么写

int age= 25;
float pi = 3.14;

#听说Java9也使用var 自动判断,不过,本人还是坚守Java8.

而在JS里就可以这么写:

var name = 'javascript';
var age = 25;
var pi = 3.14;
var message = ['hello', 'nihao'];

//注:JavaScript里single quote 和 double quote 没有区别,本人更加倾向single quote,JS好多地方和python很像。
1.2 字符串拼接

javaScript的字符串自动拼接,可以在这里把number直接转成字符串。


字符串自动拼接

注:console.log()是输出日志,相当于Java的System.out.print()。


1.3 绝对相等

javascript使用了自动判断类型,所以使用===表示数值和数据类型都相等,而==仅仅表示数值相等。


JavaScript绝对相等

实际测试
比较运算符

2.真假值

在JavaScript里,视为真值的有non-zero number, non-empty string, object, array, true。


Truthy Values

在JavaScript里,视为假值的有null, undefined, 0, empty string, NaN, fasle。


Fasly Values

三元运算符是从c语言一直沿袭下来的,Java也有。不过没怎么常用。

三元运算符

3.函数

JavaScript里函数使用function()关键字。


函数

3.1 返回与日志(输出与返回)

console.log()
undefined
输出与返回
输出与返回

3.2 作用域

引用传递
值传递

3.3 提升

1.JavaScript 会将函数声明和变量声明提升到当前作用域的顶部。

2.变量赋值不会提升。

3.在脚本的顶部声明函数和变量,这样语法和行为就会相互保持一致。


提升
提升导致的错误(1)
提升导致的错误(2)
3.4 函数表达式

匿名函数,有点类似lambda表达式。可以把函数储存在变量中。

函数表达式
匿名函数表达式

所有函数声明提升和加载后,脚本才会实际地运行。函数表达式不会提升,因为它们涉及变量赋值,只有变量声明会提升。在解析器在脚本中到达该表达式之前,函数表达式不会加载。

函数对比
3.4.1 回调
回调
3.4.2 有名称的函数表达式
有名称的函数表达式
命名函数表达式
3.4.3 内嵌函数表达式

这种内嵌函数表达式,在python中称之为把函数视为一等对象。


内嵌函数表达式

函数表达式,将函数内嵌传递给其他函数的语法在 JavaScript 中很常见

内嵌函数表达式

4.array

JavaScript的array感觉更像是python的list,用了这么久,感觉都是一样的。


array
array method
array loop

传统的遍历array。


forEach()更像是一种迭代。


forEach()
forEach()回调函数

map()返回一个新的array


5.对象

image.png
5.1 typeof

既然是自动判断类型的语言,就必然要有用来判断变量类型的函数。在python里是type(),在JavaScript里是typeof()。


typeof
5.2 创建对象

第一次看到这个时候感觉想c语言的结构体,但是后来想了想,感觉Javascript的对象更像散列函数。


创建对象
命名规则
创建 JavaScript 对象实例
把属性添加到 JavaScript 对象
把方法添加到 JavaScript 对象

结束

结束语
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,145评论 0 13
  • JavaScript语言精粹 前言 约定:=> 表示参考相关文章或书籍; JS是JavaScript的缩写。 本书...
    微笑的AK47阅读 580评论 0 3
  • 第一句话:你的责任就是你的方向,你的经历就是你的资本, 你的性格就是你的命运。第二句话:复杂的事情简单做,你就是...
    jin66666阅读 112评论 0 0
  • 文|清浅一眸 01 西西恍恍惚惚走出高大的写字楼,在这座她拼尽全力停留下来的城市,这一刻只让她觉得冷漠和冰凉。 精...
    清浅一眸阅读 428评论 0 3