廖雪峰教程——JavaScript教程学习摘录笔记(断更~)

这是个目录📋

  • 又是跟随廖雪峰老师的一次学习——JavaScript
    • 快速入门
      • 基本语法
      • 数据类型和变量
      • 字符串

又是跟随廖雪峰老师的一次学习——JavaScript

该努力就要努力,基础的知识也要夯实。目录基本按照廖老师的网站教程来的。
廖老师的网站地址指路:🔗

快速入门

JavaScript代码可以直接嵌在网页的任何地方,不过通常我们都把JavaScript代码放到head标签中。
包含的代码就是JavaScript代码,它将直接被浏览器执行。

第二种方法是把JavaScript代码放到一个单独的.js文件,然后在HTML中通过引入这个文件:

<html>
<head><script src="/static/js/abc.js"></script>
</head>
<body>...
</body>
</html>

可以在同一个页面中引入多个.js文件,还可以在页面中多次编写,浏览器按照顺序依次执行

基本语法

JavaScript的语法和Java语言类似,每个语句以;结束,语句块用{...}
(JavaScript并不强制要求在每个语句的结尾加;,浏览器中负责执行JavaScript代码的引擎会自动在每个语句的结尾补上;)

注意花括号{...}内的语句具有缩进,通常是注意花括号{…}内的语句具有缩进,通常是4个空格

数据类型和变量

Number

JavaScript不区分整数和浮点数,统一用Number表示:

123; // 整数123
0.456; // 浮点数0.456
1.2345e3; // 科学计数法表示1.2345x1000,等同于1234.5
-99; // 负数
NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示
Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity

Number 可以直接四则算数运算:

2 / 0; // Infinity
0 / 0; // NaN
10 % 3; // 1	取余运算
10.5 % 3; // 1.5

String 字符串 (略)

Boolean 布尔值 (略)

相等运算符的注意事项
JavaScript允许对任意数据类型做比较:

false == 0; // true
false === 0; // false

第一种是==比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;

第二种是===比较,它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较。

❗另一个例外是NaN这个特殊的Number与所有其他值都不相等,包括它自己:

NaN === NaN; // false

Null 空值 / Undefined 未定义
大多数情况下,我们都应该用null。undefined仅仅在判断函数参数是否传递的情况下有用。

数组
数组是一组按顺序排列的集合,集合的每个值称为元素。JavaScript的数组可以包括任意数据类型

[1, 2, 3.14, 'Hello', null, true];

也通过Array()函数创建数组:

new Array(1, 2, 3); // 创建了数组[1, 2, 3]

对象
对象是一组由键-值组成的无序集合:

var person = {name: 'Bob',age: 20,tags: ['js', 'web', 'mobile'],city: 'Beijing',hasCar: true,zipcode: null
};

键都是字符串类型,值可以是任意数据类型,每个键又称为对象的属性

变量
变量名是大小写英文数字$_的组合,且不能用数字开头,也不能是关键字if等。
申明一个变量:使用用var语句

var a = 123; // a的值是整数123
a = 'ABC'; // a变为字符串

🔻理解:可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量——>动态语言(相对应就是静态语言如C、Java)

🔶注意:如果一个变量没有通过var申明就被使用,那么该变量就自动被申明为全局变量
使用strict模式:在strict模式下运行的JavaScript代码,强制通过var申明变量,未使用var申明变量就使用的,将导致运行错误

'use strict';	// 在JavaScript代码第一行

补充👀判断NaN的方法

Object.is(NaN,NaN); // trueisNaN(NaN); // true

字符串

JavaScript的字符串就是用''""括起来的字符表示
转义字符\可以转义很多字符,比如\n表示换行\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\

ASCII字符可以以\x##形式的十六进制表示

'\x41'; // 完全等同于 'A'

还可以用\u####表示一个Unicode字符

'\u4e2d\u6587'; // 完全等同于 '中文'

多行字符串
用反引号 * ... * 表示

`多行
字符串`

模板字符串
字符串的连接通过+号。通过模板字符串,采用变量替换

var name = 'S号口袋怪';
var age = 20;
var message = `你好, ${name}, 你今年${age}岁了!`;
alert(message);

操作字符串

  1. 指定位置的字符。数组的概念,由索引定位。
    字符串是不可变的,如果对字符串的某个索引赋值,不会有任何错误,但是,也没有任何效果 。
  2. substring()返回指定索引区间的子串
  3. indexOf()会搜索指定字符串出现的位置
var s = 'hello, world';
s.indexOf('world'); // 返回7
s.indexOf('World'); // 没有找到指定的子串,返回-1
  1. toUpperCase/toLowerCase() 改变大小写
    ❓调用这些方法本身不会改变原有字符串的内容,而是返回一个新字符串


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部