JavaScript学习笔记(阮一峰大神)

个人向的学习记录;
大神的js学习网站:网道JavaScript 教程

变量
var a;//undefined
a = 1;
a = 'hello';//动态类型语言~
变量提升

JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。

console.log(b);//在控制台显示b的值, 为 undefined
var b = 1;
{
	var c = 1;
}
a  // 1

在区块外部,变量a依然有效(变量提升),区块对于var命令不构成单独的作用域

标签(label)

相当于定位符,用于跳转到程序的任意位置。
标签通常与break语句和continue语句配合使用,跳出特定的循环。
标签用合法的标识符指定:

top:
  for (var i = 0; i < 3; i++){
    for (var j = 0; j < 3; j++){
      if (i === 1 && j === 1) break top;
      console.log('i=' + i + ', j=' + j);
    }
  }

这里直接跳出双层循环;不使用标签则只能跳出一层循环;
continue语句也可以与标签配合使用。

top:
  for (var i = 0; i < 3; i++){
    for (var j = 0; j < 3; j++){
      if (i === 1 && j === 1) continue top;//直接进入下一轮外层循环
      console.log('i=' + i + ', j=' + j);
    }
  }
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0
// i=2, j=0
// i=2, j=1
// i=2, j=2

数据类型

  • 数值(number):整数和小数(比如1和3.14)
  • 字符串(string
  • 布尔值(boolean): true / false

以上三个是最基本的数据类型

  • undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值
  • null:表示空值,即此处的值为空。
  • 对象(object):各种值组成的集合。

对象可以细分为:

  • 狭义的对象(object)
  • 数组(array)
  • 函数(function)

JavaScript 把函数当成一种数据类型,可以赋值给变量,这为编程带来了很大的灵活性,也为 JavaScript 的“函数式编程”奠定了基础。

布尔值

下列运算符会返回布尔值:

前置逻辑运算符: ! (Not)
相等运算符:=== , ==, !==, !=
比较运算符:>>=<<=

在if()判断中,只有一下六个值会被转为false,其他值都视为true

  • undefined
  • null
  • false
  • 0
  • NaN (not a number)

NaN与任何数的运算,得到的都是NaN

  • “” 或 ‘’(空字符串)

注意,空数组([])和空对象({})对应的布尔值,都是true!

整数和浮点数

JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1与1.0是相同的,是同一个数。这就是说,JavaScript 语言的底层根本没有整数!

typeof运算符

返回它的类型

typeof 123 // "number"
typeof '123' // "string"
typeof false // "boolean"
function f() {}
typeof f // "function"
字符串

原则上尽量只使用单引号

var longString = 'Long \ long \ long \ string';

longString
// "Long long long string"
条件语句
if 结构
if (m === 3){ //严格相等运算符
	m = m + 1;
}else if{
}else{
}//结构和java无异
switch结构

我看了,一眼过了,有什么好说的

循环语句

我看了,一眼过了,有什么好说的

注释
//单行注释
/* 多行注释 */
<!--单行注释
--> // -->只有在行首才会被当成注释,因为-->也是一种运算~
PS

1.大小写敏感
2.中文是合法的标识符

你可能感兴趣的:(JavaScript学习笔记(阮一峰大神))