所有能用javascript重写的,最后都会用javascript重写
HTML 5出现之后,JavaScript可以调用许多系统功能,比如操作本地文件、操作图片、调用摄像头和麦克风等
Node.js项目使得JavaScript可以用于开发服务器端的大型项目,网站的前后端都用JavaScript开发已经成为了现实。有些嵌入式平台(Raspberry Pi)能够安装Node.js,于是JavaScript就能为这些平台开发应用程序。
NoSQL数据库这个概念,本身就是在JSON(JavaScript Object Notation,JavaScript对象表示法)格式的基础上诞生的,大部分NoSQL数据库允许JavaScript直接操作。
facebook的GraphQL更是一个完全面向json的数据库。
PhoneGap让你几乎可以同时开发iOS和Android 应用。React Native 使JS开发的应用性能更好,iOS和Android端代码复用80%以上。
var a = 1;
var b;
console.log(a) // 1
console.log(b) // undefined
b=2;
console.log(b) // 2
//ES6
const SERVER_PORT = 80;
function some () {
let a = 1;
}
1 === 1.0 // true
1 + 1.0 // 2
//由于浮点数不是精确的值,所以涉及小数的比较和运算要特别小心。
0.1 + 0.2 === 0.3
// false
0.3 / 0.1
// 2.9999999999999996
(0.3-0.2) === (0.2-0.1)
// false
JavaScript内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1与1.0是相等的,而且1加上1.0得到的还是一个整数,不会像有些语言那样变成小数。
//以下两种情况,JavaScript会自动将数值转为科学计数法表示,其他情况都采用字面形式直接表示。
//小数点前的数字多于21位。
1234567890123456789012
// 1.2345678901234568e+21
123456789012345678901
// 123456789012345680000
//小数点后的零多于5个。
0.0000003 // 3e-7
0.000003 // 0.000003
根据国际标准IEEE 754,64位浮点数格式的64个二进制位中,第0位到第51位储存有效数字部分,第52到第62位储存指数部分,第63位是符号位,0表示正数,1表示负数。
var word = 'abc';
var word2 = "abc";
var word3 = `abc${word}`;
var sentence = "Tom: \"nihao!\"";
字符串就是若干个排在一起的字符,放在单引号或双引号之中。ES6中还可以使用反撇号`。
var fish = {
name: "Nemo",
type: "Clownfish",
say : function (sentence) {
console.log(sentence);
}
};
fish.name // Nemo
fish['name'] // Nemo
fish.say('some words')
对象(object)是JavaScript的核心概念,也是最重要的数据类型。JavaScript的所有数据都可以被视为对象。简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。
var arr = ['a', 'b', 'c'];
arr[0] // a
arr[1] // b
arr[1] // c
arr.length // 3
//二维数组
var a = [[1, 2], [3, 4]];
a[0][1] // 2
a[1][1] // 4
//任意一种类型的数据,都可以放入数组。
var arr = [
{a: 1},
[1, 2, 3],
function() {return true;}
];
arr[0] // Object {a: 1}
arr[1] // [1, 2, 3]
arr[2] // function (){return true;}
数组(array)是按次序排列的一组值,每个值的位置都有编号(从0开始)。整个数组用方括号表示。
var print = function(){
console.log(233)
};
function print (){
console.log(233)
};
//retrun
function add(x,y) {
return x+y;
}
add(1,1) // 2
函数就是使用function命令命名的代码区块,便于反复调用。
运算符是用来处理数据的基本方法。JavaScript与其他编程语言一样,提供了多种运算符。
JavaScript提供9个算术运算符。
加法运算符(Addition):x + y
减法运算符(Subtraction): x - y
乘法运算符(Multiplication): x * y
除法运算符(Division):x / y
余数运算符(Remainder):x % y
自增运算符(Increment):++x 或者 x++
自减运算符(Decrement):--x 或者 x--
求负运算符(Negate):-x
数值运算符(Convert to number): +x
Node.js是一个后端的Javascript运行环境(支持的系统包括*nux、Windows),这意味着你可以编写系统级或者服务器端的Javascript代码,交给Node.js来解释执行。Node.js的设计思想中以事件驱动为核心,它提供的绝大多数API都是基于事件的、异步的风格。
NPM(node package manager),通常称为node包管理器。顾名思义,它的主要功能就是管理node包,包括:安装、卸载、更新、查看、搜索、发布等。
npm的背后,是基于couchdb的一个数据库,详细记录了每个包的信息,包括作者、版本、依赖、授权信息等。它的一个很重要的作用就是:将开发者从繁琐的包管理工作(版本、依赖等)中解放出来,更加专注于功能的开发。