关于javascript:JS笔记

11次阅读

共计 3211 个字符,预计需要花费 9 分钟才能阅读完成。

\1. JavaScript 程序的执行单位为行(line),也就是一行一行地执行。个别状况下,每一行就是一个语句。

\2. 如果只是申明变量而没有赋值,则该变量的值是 undefined。

3. 三元运算符

JavaScript 还有一个三元运算符(即该运算符须要三个运算子)?:,

也能够用于逻辑判断。

(条件) ? 表达式 1 : 表达式 2

下面代码中,如果“条件”为 true,则返回“表达式 1”的值,否则返回“表达式 2”的值。

var even = (n % 2 === 0) ? true : false;

\4. break 语句和 continue 语句都具备跳转作用,能够让代码不按既有的程序执行。

​ break 语句用于跳出代码块或循环。

​ continue 语句用于立刻终止本轮循环,返回循环构造的头部,开始下一轮循环。

5.JavaScript 的数据类型,共有六种

(1)数值(number):整数和小数(比方 1 和 3.14)。

(2)字符串(string):文本(比方 Hello World)。

(3)布尔值(boolean):示意真伪的两个非凡值,即 true(真)和 false(假)。

(4)undefined:示意“未定义”或不存在,即因为目前没有定义,所以此处临时没有任何值。

(5)null:示意空值,即此处的值为空。

(6)对象(object):各种值组成的汇合

6.JavaScript 有三种办法,能够确定一个值到底是什么类型。

(1)typeof 运算符

​ 数值、字符串、布尔值别离返回 number、string、boolean。

​ typeof 123 // “number”

​ typeof ‘123’ // “string”

​ typeof false // “boolean”

(2)instanceof 运算符

(3)Object.prototype.toString 办法

7. 布尔值代表“真”和“假”两个状态。“真”用关键字 true 示意,“假”用关键字 false 示意。布尔值只有这两个值。

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

前置逻辑运算符:! (Not)

相等运算符:===,!==,==,!=

比拟运算符:>,>=,<,<=

8.parseInt()

(1)根本用法

​ parseInt 办法用于将字符串转为整数。

​ parseInt(‘123’) // 123

​ 如果 parseInt 的参数不是字符串,则会先转为字符串再转换。

​ parseInt(1.23) // 1

​ // 等同于

​ parseInt(‘1.23’) // 1

​ 如果字符串的第一个字符不能转化为数字(前面跟着数字的正负号除外),返回 NaN。

​ parseInt(‘abc’) // NaN

​ parseInt(‘.3’) // NaN

​ parseInt(”) // NaN

​ parseInt(‘+’) // NaN

​ parseInt(‘+1’) // 1

(2)进制转换

​ parseInt 办法还能够承受第二个参数(2 到 36 之间),示意被解析的值的进制,返回该值对应的十进制数。默认状况下,parseInt 的第二个参数为 10,即默认是十进制转十进制。

​ parseInt(‘1000’) // 1000

​ // 等同于

​ parseInt(‘1000’, 10) // 1000

9.parseFloat()

​ parseFloat 办法用于将一个字符串转为浮点数。

​ parseFloat(‘3.14’) // 3.14

10.isNaN()

​ isNaN 办法能够用来判断一个值是否为 NaN。

​ isNaN(NaN) // true

​ isNaN(123) // false

11.isFinite()

​ isFinite 办法返回一个布尔值,示意某个值是否为失常的数值。

​ isFinite(Infinity) // false

​ isFinite(-Infinity) // false

​ isFinite(NaN) // false

​ isFinite(undefined) // false

​ isFinite(null) // true

​ isFinite(-1) // true

​ 除了 Infinity、-Infinity、NaN 和 undefined 这几个值会返回 false,isFinite 对于其余的数值都会返回 true。

12. 本义

反斜杠(\)在字符串内有非凡含意,用来示意一些特殊字符,所以又称为本义符。

须要用反斜杠本义的特殊字符,次要有上面这些。

  • \0:null(\u0000
  • \b:后退键(\u0008
  • \f:换页符(\u000C
  • \n:换行符(\u000A
  • \r:回车键(\u000D
  • \t:制表符(\u0009
  • \v:垂直制表符(\u000B
  • \':单引号(\u0027
  • \":双引号(\u0022
  • \\:反斜杠(\u005C
  • 13. 字符串与数组

    字符串能够被视为字符数组,因而能够应用数组的方括号运算符,用来返回某个地位的字符(地位编号从 0 开始)。

    var s = 'hello';
    s[0] // "h"
    s[1] // "e"
    s[4] // "o"
    
    // 间接对字符串应用方括号运算符
    'hello'[1] // "e"

14.length 属性

length属性返回字符串的长度,该属性也是无奈扭转的。

var s = 'hello';
s.length // 5

s.length = 3;
s.length // 5

s.length = 7;
s.length // 5

下面代码示意字符串的 length 属性无奈扭转,然而不会报错。

15. 对象(object)是 JavaScript 语言的外围概念,也是最重要的数据类型。

什么是对象?简略说,对象就是一组“键值对”(key-value)的汇合,是一种无序的复合数据汇合。

var obj = {
  foo: 'Hello',
  bar: 'World'
};

16. 键名

对象的所有键名都是字符串(ES6 又引入了 Symbol 值也能够作为键名),所以加不加引号都能够。下面的代码也能够写成上面这样。

var obj = {
  'foo': 'Hello',
  'bar': 'World'
};

17. 属性的读取

读取对象的属性,有两种办法,一种是应用点运算符,还有一种是应用方括号运算符。

var obj = {p: 'Hello World'};

obj.p // "Hello World"
obj['p'] // "Hello World"

18. 属性的赋值 #

点运算符和方括号运算符,不仅能够用来读取值,还能够用来赋值。

var obj = {};

obj.foo = 'Hello';
obj['bar'] = 'World';

19. 属性的查看

查看一个对象自身的所有属性,能够应用 Object.keys 办法。

var obj = {
  key1: 1,
  key2: 2
};

Object.keys(obj);
// ['key1', 'key2']

20. 属性的删除:delete 命令 #

delete命令用于删除对象的属性,删除胜利后返回true

var obj = {p: 1};
Object.keys(obj) // ["p"]

delete obj.p // true
obj.p // undefined
Object.keys(obj) // []

21. 属性是否存在:in 运算符

in运算符用于查看对象是否蕴含某个属性(留神,查看的是键名,不是键值),如果蕴含就返回true,否则返回false。它的右边是一个字符串,示意属性名,左边是一个对象。

var obj = {p: 1};
'p' in obj // true
'toString' in obj // true

in运算符的一个问题是,它不能辨认哪些属性是对象本身的,哪些属性是继承的。就像下面代码中,对象 obj 自身并没有 toString 属性,然而 in 运算符会返回true,因为这个属性是继承的。

这时,能够应用对象的 hasOwnProperty 办法判断一下,是否为对象本身的属性。

var obj = {};
if ('toString' in obj) {console.log(obj.hasOwnProperty('toString')) // false
}

22.with 语句

with语句的格局如下:

with (对象) {语句;}

正文完
 0