javascript必须了解的知识点

1.isNaN() 函数用于检查其参数是否是非数字值

2.数组与对象的数据格式

2.1数组(Array)字面量 定义一个数组:
[40, 100, 1, 5, 25, 10]

2.2对象(Object)字面量 定义一个对象也可称为json对象:
{firstName:“John”, lastName:“Doe”, age:50, eyeColor:“blue”}

3.JavaScript 数据类型

值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。

引用数据类型:对象(Object)、数组(Array)、函数(Function)。

4.JavaScript 作用域

局部作用域

全局变量

5.JavaScript 能够改变 HTML 样式 (CSS)

document.getElementById(“demo”).style.fontSize = “25px”;

6.JavaScript 语句的构成:

值、运算符、表达式、关键词和注释。

7.JavaScript 关键词

break 终止 switch 或循环。

continue 跳出循环并在顶端开始。

debugger 停止执行 JavaScript,并调用调试函数(如果可用)。

do … while 执行语句块,并在条件为真时重复代码块。

for 标记需被执行的语句块,只要条件为真。

function 声明函数。

if … else 标记需被执行的语句块,根据某个条件。

return 退出函数。

switch 标记需被执行的语句块,根据不同的情况。

try … catch 对语句块实现错误处理。

var 声明变量。

8.JavaScript 对大小写敏感

9.JavaScript 语句定义两种类型的值:混合值(字面量)和变量值(变量)。

10.JavaScript 类型运算符

运算符描述
typeof返回变量的类型。
instanceof返回 true,如果对象是对象类型的实例。

11.JavaScript中+的运算

运算:var x = 911 + 7 + “Porsche”;
结果:918Porsche

运算:var x = “Porsche” + 911 + 7;
结果:Porsche9117

在第一个例子中,JavaScript 把 911 和 7 视作数值,直到遇见 “Porsche”。

在第二个例子中,由于第一个操作数是字符串,因此所有操作数都被视为字符串。

12.超大或超小的数值可以用科学计数法来写

var y = 123e5; // 12300000
var z = 123e-5; // 0.00123

13.常见的 HTML 事件

事件描述
onchangeHTML 元素已被改变
onclick用户点击了 HTML 元素
onmouseover用户把鼠标移动到 HTML 元素上
onmouseout用户把鼠标移开 HTML 元素
onkeydown用户按下键盘按键
onload浏览器已经完成页面加载

14.javascript中长代码的换行

document.getElementById(“demo”).innerHTML = “Hello
Kitty!”;

注意:某些浏览器也不允许 \ 字符之后的空格。

对长字符串换行的最安全做法(但是有点慢)是使用字符串加法:
document.getElementById(“demo”).innerHTML = “Hello” +
“Kitty!”;

15.在javascript中== 和 ===的区别

== 只要求值相等,而 === 要求值和类型都相等

16.字符串的方法

w3c文档

https://www.w3school.com.cn/js/js_string_methods.asp

17.整数(不使用指数或科学计数法)会被精确到 15 位。

var x = 999999999999999; // x 将是 999999999999999
var y = 9999999999999999; // y 将是 10000000000000000

18.小数的最大数是 17 位,但是浮点的算数并不总是 100% 精准

var x = 0.2 + 0.1; // x 将是 0.30000000000000004

解决方法:
var x = (0.2 * 10 + 0.1 * 10) / 10; // x 将是 0.3

注意:切记在做精确计算的时候不可用小数进行运算

19.把变量转换为数值

方法描述
Number()返回数字,由其参数转换而来。
parseFloat()解析其参数并返回浮点数。
parseInt()解析其参数并返回整数。

20.遍历数组的最佳方法是使用标准的 for 循环

<p id="demo"></p>

<script>
var fruits, text, fLen, i;
fruits = ["Banana", "Orange", "Apple", "Mango"];
fLen = fruits.length;

text = "<ul>";
for (i = 0; i < fLen; i++) {
  text += "<li>" + fruits[i] + "</li>";
}
text += "</ul>";

document.getElementById("demo").innerHTML = text;
</script>

21.向数组中添加元素

向数组添加新元素的最佳方法是使用 push() 方法

实例:

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.push(“Lemon”);

也可以使用 length 属性向数组添加新元素

实例

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits[fruits.length] = “Lemon”; // 向 fruits 添加一个新元素 (Lemon)

22.数组和对象的区别

在 JavaScript 中,数组使用数字索引。

在 JavaScript 中,对象使用命名索引。

数组是特殊类型的对象,具有数字索引

23.数组创建注意点

避免 new Array()
没有必要使用 JavaScript 的内建数组构造器 new Array()。

请使用 [] 取而代之!

24.识别数组
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];

typeof fruits;
typeof 运算符返回 “object”,因为 JavaScript 数组属于对象。

25.JavaScript 数组方法

参考文档

https://www.w3school.com.cn/js/js_array_methods.asp

26.JavaScript 数组排序

参考文档

https://www.w3school.com.cn/js/js_array_sort.asp

27.JavaScript 数组迭代方法

参考文档

https://www.w3school.com.cn/js/js_array_iteration.asp

28.JavaScript Math 对象

28.1Math.round(x) 的返回值是 x 四舍五入为最接近的整数

Math.round(6.8); // 返回 7
Math.round(2.3); // 返回 2

28.2Math.pow(x, y) 的返回值是 x 的 y 次幂

Math.pow(8, 2); // 返回 64

28.3Math.sqrt(x) 返回 x 的平方根:

Math.sqrt(64); // 返回 8

28.4Math.abs(x) 返回 x 的绝对(正)值:

Math.abs(-4.7); // 返回 4.7

28.5Math.ceil(x) 的返回值是 x 上舍入最接近的整数:

Math.ceil(6.4); // 返回 7

28.6Math.floor(x) 的返回值是 x 下舍入最接近的整数:

Math.floor(2.7); // 返回 2

28.7Math.min() 和 Math.max() 可用于查找参数列表中的最低或最高值:

Math.min(0, 450, 35, 10, -8, -300, -78); // 返回 -300

Math.max(0, 450, 35, 10, -8, -300, -78); // 返回 450

28.8Math.random() 返回介于 0(包括) 与 1(不包括) 之间的随机数:

Math.random(); // 返回随机数

28.9Math 对象方法

方法描述
abs(x)返回 x 的绝对值
acos(x)返回 x 的反余弦值,以弧度计
asin(x)返回 x 的反正弦值,以弧度计
atan(x)以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。
atan2(y,x)返回从 x 轴到点 (x,y) 的角度
ceil(x)对 x 进行上舍入
cos(x)返回 x 的余弦
exp(x)返回 Ex 的值
floor(x)对 x 进行下舍入
log(x)返回 x 的自然对数(底为e)
max(x,y,z,…,n)返回最高值
min(x,y,z,…,n)返回最低值
pow(x,y)返回 x 的 y 次幂
random()返回 0 ~ 1 之间的随机数
round(x)把 x 四舍五入为最接近的整数
sin(x)返回 x(x 以角度计)的正弦
sqrt(x)返回 x 的平方根
tan(x)返回角的正切

29.JavaScript 随机

Math.random() 返回 0(包括) 至 1(不包括) 之间的随机数

29.1Math.random() 总是返回小于 1 的数。

29.2JavaScript 随机整数
Math.random() 与 Math.floor() 一起使用用于返回随机整数。
实例
Math.floor(Math.random() * 10); // 返回 0 至 9 之间的数
实例
Math.floor(Math.random() * 11); // 返回 0 至 10 之间的数
实例
Math.floor(Math.random() * 100); // 返回 0 至 99 之间的数
实例
Math.floor(Math.random() * 101); // 返回 0 至 100 之间的数
实例
Math.floor(Math.random() * 10) + 1; // 返回 1 至 10 之间的数
实例
Math.floor(Math.random() * 100) + 1; // 返回 1 至 100 之间的数

29.3一个适当的随机函数
这个 JavaScript 函数始终返回介于 min(包括)和 max(不包括)之间的随机数:
实例
function getRndInteger(min, max) {
return Math.floor(Math.random() * (max - min) ) + min;
}

这个 JavaScript 函数始终返回介于 min 和 max(都包括)之间的随机数:
实例
function getRndInteger(min, max) {
return Math.floor(Math.random() * (max - min + 1) ) + min;
}

30.所有不具有“真实”值的即为 False (Boolean(x)😉

0(零)的布尔值为 false:
-0 (负零)的布尔值为 false:
“”(空值)的布尔值为 false:
null 的布尔值是 false:
undefined 的布尔值是 false:
false 的布尔值(正如您猜到的)是 false:
NaN 的布尔值是 false:

31.js条件语句

if (条件 1) {
条件 1 为 true 时执行的代码块
} else if (条件 2) {
条件 1 为 false 而条件 2 为 true 时执行的代码块
} else {
条件 1 和条件 2 同时为 false 时执行的代码块
}

32.JavaScript Switch 语句

switch(表达式) {
case n:
代码块
break;
case n:
代码块
break;
default:
默认代码块
}

33.JavaScript For 循环
for - 多次遍历代码块
for/in - 遍历对象属性

33.1for循环

<script>
var cars = ["BMW", "Volvo", "porsche", "Ford"];
var i, len, text;
for (i = 0, len = cars.length, text = ""; i < len; i++) {
  text += cars[i] + "<br>";
}
document.getElementById("demo").innerHTML = text;
</script>

33.2for/in - 遍历对象属性

<p id="demo"></p>

<script>
var txt = "";
var person = {fname:"Bill", lname:"Gates", age:62}; 
var x;
for (x in person) {
  txt += person[x] + " ";
}
document.getElementById("demo").innerHTML = txt;
</script>

34.JavaScript While 循环

<p id="demo"></p>

<script>
var text = "";
var i = 0;
while (i < 10) {
  text += "<br>数字是 " + i;
  i++;
}
document.getElementById("demo").innerHTML = text;
</script>
<p id="demo"></p>

<script>
var text = ""
var i = 0;

do {
  text += "<br>数字是 " + i;
  i++;
}
while (i < 10);  

document.getElementById("demo").innerHTML = text;
</script>

35.JavaScript Break 和 Continue

break 语句“跳出”循环。

continue 语句“跳过”循环中的一个迭代

36.JavaScript 类型转换

参考文档

https://www.w3school.com.cn/js/js_type_conversion.asp

37.位运算

参考文档

https://www.w3school.com.cn/js/js_bitwise.asp

38.正则表达式

参考文档

https://www.w3school.com.cn/js/js_regexp.asp

39.JavaScript 错误 - Throw 和 Try to Catch

try {
供测试的代码块
}
catch(err) {
处理错误的代码块
}
finally {
无论 try / catch 结果如何都执行的代码块
}

40.JavaScript 提升(Hoisting)

var 的申明会被提升 用 let 或 const 声明的变量和常量不会被提升!
参考文档

https://www.w3school.com.cn/js/js_hoisting.asp

41.严格模式

参考文档

https://www.w3school.com.cn/js/js_strict.asp

42.JavaScript this 关键词

参考文档

https://www.w3school.com.cn/js/js_this.asp

43.let与const

let参考文档

const参考文档

持续更新
https://www.w3school.com.cn/js/js_hoisting.asp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

原克技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值