廖雪峰教程——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);
操作字符串
- 指定位置的字符。数组的概念,由索引定位。
字符串是不可变的,如果对字符串的某个索引赋值,不会有任何错误,但是,也没有任何效果 。 substring()返回指定索引区间的子串indexOf()会搜索指定字符串出现的位置
var s = 'hello, world';
s.indexOf('world'); // 返回7
s.indexOf('World'); // 没有找到指定的子串,返回-1
toUpperCase/toLowerCase()改变大小写
❓调用这些方法本身不会改变原有字符串的内容,而是返回一个新字符串
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
