JavaScript学习笔记(一)

   销声匿迹了三个月了,一直都没有更博,不是我懒,是实在没时间。没错,本人又换了工作,要说人玩高处走,水往低处流,碰到好的工作机会,我当然不能错过咯。所以就有了这几个月的销声匿迹,隐姓埋名。因为新工作实在是忙,而且本人之前学的Python已经远远不够用了,所以现在处处充满挑战,OK,虽然我也认为我的技术很菜,那我更要努力学习以胜任现在的工作了。好吧,言归正传。

   Although之前也陆陆续续接触过js,but一直都停留在表面,知其然但不知其所以然,也因为其语法相比于Python来说比较复杂,所以一直对它没有好感,然而,现在不行了,为了保住饭碗,只能硬着头皮来了,要不然还是会被社会和公司淘汰的。

   今天先总结一下我学习过程中的一些重要的点。

一、Java和JavaScript的关系:

以前一直以为两者是父与子的关系,今天看了才知大错特错。
1、JavaScript 与 Java 是两种完全不同的语言,无论在概念上还是设计上;
2、JavaScript 是动态类型语言,而 Java 是静态类型语言;
3、JavaScript 是弱类型的,Java 属于强类型;
所以,不要再认为两者有关系了,不过其语法和C语言类似,且都是面向对象的编程。若果你会Java,那学起来应该是很快的。

二、JavaScript的基本语法

JavaScript的六种数据类型

种类 类型
原始数据类型 number // 数字
string // 字符串
boolean // 布尔
null // 空
undefined // 未定义
对象 Object
(其中对象包括:Function,Array,Date…)

隐式转换

+和- “37”-7 // 30 字符串与数字相减,把字符串转成数字
“37”+7 // 377 字符串与数字相加,把数字转成字符串
a==b 类型相同:同=== ;
类型不同:尝试类型转换和比较,如下
"1.23" == 1.23 // number==string 转number
0 == false // boolean == ? 转number
null == undefined
new Object() == new Object() //Object == number|string 尝试对象转为基本类型
[1,2] == [1,2]
a===b(严格等于) 类型不同:返回false
类型相同:null=== null
undefined===undefined
NaN ̸ = \not= ̸=NaN
new Object() ̸ = \not= ̸=new Object()

类型检测

在JavaScript中,类型检测的方式有以下几种

方法 用法
typeof 函数类型和基本对象的判断 适合基本类型及function检测,遇到null失效
instanceof 通过{}.toString拿到,适合内置对象和基元类,遇到null和undefined失效(IE678等返回[object Object])
Object.prototype.toString 适合自定义对象,也可以用来检测原生对象,在不同iframe和window间检测时失效
constructor
duck type

表达式

表达式 用法
原始表达式 常量,直接量:3.14,“test”
关键字:null,this,true
变量:i,j,k
复合表达式 10*20
数组,对象的初始化表达式 [1,2],[1,4],{x:1,y:2}
函数表达式 var fe = function(){};
(function(){console.log(‘hello world’);})();
属性访问表达式 var o = {x:1};o.x,o[‘x’]
调用表达式 func();
对象创建表达式 new Func(1,2);
new Object

1、定义变量

Python

Python JavaScript
x = 5 var x = 5;
x = "MTbaby" var x = "MTbaby";
x = [1,2,3] var x = Array(1,2,3) 或者var x = [1,2,3]
x = person() var person = {firstName:"John", lastName:"Doe"}

2、数据类型

Python JavaScript
值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean) 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
引用数据类型: 列表(list)、元组(tuple)、字典(Dict)、日期(data) 引用数据类型:对象(Object)、数组(Array)、函数(Function)。

3、函数

Python JavaScript
def fname(x):
return x
function fname(x){
return x
}

未完待续……

你可能感兴趣的:(JavaScript)