JavaScript学习(二)基础知识 变量 常量 数据类型

Hello, world!

“script” 标签

JavaScript 程序可以使用

...script 标签之后

这里,/path/to/script.js 是脚本文件的绝对路径(从站点根目录开始)。

也可以提供相对于当前页面的相对路径。比如,src="script.js" 意思是来自当前文件夹的 "script.js" 文件。

我们还可以提供一个完整的 URL 地址,例如:

总结 

  • 我们可以使用一个 这种方式插入。

变量

一个变量

一个 变量 是数据的“命名存储”。我们可以使用变量来保存商品、访客和其他信息。

在 JavaScript 中创建一个变量,我们需要用到 let 关键字。

下面的语句创建(换句话说,声明或者定义)了一个名称为“message”的变量:

let message;

现在,通过赋值操作符 = 为变量添加一些数据:

let message;
message = 'Hello!';

alert(message); // 显示变量内容

var 而不是 let

var message = 'Hello';

var 关键字与 let 大体相同,也用来声明变量,但稍微有些不同,也有点“老派”。

 

变量命名

JavaScript 的变量命名有两个限制:

  1. 变量名称必须仅包含字母,数字,符号 $_
  2. 首字符必须非数字

区分大小写

命名为 appleAppLE 的变量是不同的两个变量。

允许非英文字母,但不推荐

保留字

单词 letclassreturnfunction 被保留。


常量

声明一个常数(不变)变量,可以使用 const 而非 let。使用 const 声明的变量称为“常量”。它们不能被修改,尝试这样做就会造成错误:

const myBirthday = '18.04.1982';

myBirthday = '01.01.2001'; // 错误,不能对常量重新赋值

大写形式的常数

这些常量使用大写和下划线命名。

const COLOR_RED = "#F00";
const COLOR_GREEN = "#0F0";
const COLOR_BLUE = "#00F";
const COLOR_ORANGE = "#FF7F00";

// ...当需要选择一个颜色
let color = COLOR_ORANGE;
alert(color); // #FF7F00

好处:

  • COLOR_ORANGE"#FF7F00" 更容易记忆。
  • 比起 COLOR_ORANGE 而言,"#FF7F00" 更容易输错。
  • 阅读代码时,COLOR_ORANGE#FF7F00 更有含义。

 

总结

我们可以声明变量来存储数据。可以通过使用 varlet 或者 const 来完成。

  • let – 新时代的变量声明方式。Chrome(V8)中代码必须开启严格模式以使用 let
  • var – 旧时代的变量声明方式。一般情况下,我们不会使用它。但是,我们会在 旧时的 "var" 章节介绍 varlet 的微妙差别,以防你需要它们。
  • const – 类似于let,但是变量的值无法被修改。

变量应当以一种容易理解变量内部是什么的方式进行命名。

 


数据类型

number 类型

number 类型用于整数和浮点数

数字有很多操作,比如,乘法 *、除法 /、加法 +、减法 - 等等。

除了常规的数字,还包括所谓的“特殊数值”也属于这种类型:Infinity-InfinityNaN

let n = 123;
n = 12.345;

alert( 1 / 0 ); // Infinity

alert( "not a number" / 2 ); // NaN, 这样的除法是错误的

alert( "not a number" / 2 + 5 ); // NaN

string 类型

JavaScript 中的字符串必须被包含在引号里面。没有 character 类型

在 JavaScript 中,有三种包含字符串的方式。

  1. 双引号: "Hello".
  2. 单引号: 'Hello'.
  3. 反引号: `Hello`.

双引号和单引号都是“简单”引用,在 JavaScript 中两者并没有什么差别。

反引号是功能扩展的引用,允许通过 ${…},将变量和表达式嵌入到字符串中

let str = "Hello";
let str2 = 'Single quotes are ok too';
let phrase = `can embed ${str}`;

let name = "John";

// embed a variable
alert( `Hello, ${name}!` ); // Hello, John!

// embed an expression
alert( `the result is ${1 + 2}` ); // the result is 3

boolean 类型(逻辑类型)

boolean 类型仅包含两个值:truefalse

let nameFieldChecked = true; // yes, name field is checked
let ageFieldChecked = false; // no, age field is not checked

“null” 值

特殊的 null 值不属于上述任何一种类型。

它构成一个独立的类型,只包含 null 值:

let age = null;

相比较于其他语言,JavaScript 中的 null 不是一个“对不存在对象的引用”或者“null 指针”。

仅仅是一个含义为“无”、“空”或“值未知”的特殊值

上面的代码表示,由于某些原因,age 是未知的。

“undefined” 值

特殊值和 null 一样,自成类型。

undefined 的含义是 未被赋值

如果变量被声明,而未被赋值,那么它的值就是 undefined

let x;

alert(x); // 弹出 "undefined"

typeof 运算符

typeof 运算符返回参数的类型。当我们想要分别处理不同类型值的时候,或者简单地进行检验,就很有用。

它支持两种语法形式:

  1. 作为运算符:typeof x
  2. 函数形式:typeof(x)
typeof undefined // "undefined"

typeof 0 // "number"

typeof true // "boolean"

typeof "foo" // "string"

typeof Symbol("id") // "symbol"

typeof Math // "object"  (1)

typeof null // "object"  (2)

typeof alert // "function"  (3)

总结

JavaScript 中有七种基本的数据类型。

  • number 用于任何类型的数字:整数或者浮点数。
  • string 用于字符串。一个字符串可以包含一个或多个字符,所以没有单独的单字符类型。
  • boolean 用于 truefalse
  • null 用于未知的值 —— 只有一个 null 值的独立类型。
  • undefined 用于未定义的值 —— 只有一个 undefined 值的独立类型。
  • object 用于更复杂的数据结构。
  • symbol 用于唯一的标识符。

typeof 运算符可以查看变量的类型。

  • 两种形式:typeof x 或者 typeof(x)
  • 返回的类型的字符串,比如 "string"
  • null 返回 "object" —— 这是语言中的一个错误,实际上它并不是一个对象。

 

你可能感兴趣的:(前端学习)