js必备知识小结(一)

简介: js必备知识小结(一)

本文总结了学习js必须掌握的知识点,个人总结、不喜勿喷 づ♡ど

一、变量

变量命名规则、如何声明变量(let)

命名方法:小驼峰式命名法

如何声明:

let a = 1

二、数据

数据类型有几类、引用和基础的区别、了解(类型之间的转换)

有两类:基本数据类型、引用数据类型

两者的区别:

1.存储上的区别:

(1)基本数据类型是存放在栈中的简单数据段

(2)引用数据类型是存放在堆内存中的对象,在栈内存中存放的是堆内存中的具体内容的引用地址,通过这个地址可以快速查找到对象0

2.比较上的区别:

(1)基本数据类型的比较是值的比较为true

(2)引用数据类型的比较是引用的比较为false

因为引用类型比较的是地址,也就是比较两个对象保存在栈区的指向堆内存的地址是否相同,虽然看起来一样,但是它们指向堆内存的地址是不一样的,所以两个对象不相等

3.赋值上的区别:

(1)基本数据类型的赋值是简单赋值,如果一个变量向另一个变量赋值基本类型的值,会在变量对象上创建一个新值,然后把这个值复制到为新变量分配的位置上

(2)引用类型的赋值是对象引用

三、数组

数组——增、删、查、循环(forEach、map、filter)、排序

增:

       unshift:头部添加

       Push:尾部添加

删:

       shift:头部删除

       pop:尾部删除

查:

indexOf查询、lastIndexOf查询、find查询findIndex()查询

循环:

for循环、foreach循环、map循环、filter方法

排序:冒泡排序、sort排序

四、函数

函数:定义,调用,传参,箭头函数、闭包

定义:JavaScript 使用关键字function定义函数。

函数的调用方法:

       1.一般形式调用

function fn(x) {  //定义函数
    return x+1;  //返回值
}
console.log(f(1));  //返回2

         2.作为对象的方法调用

var obj = {
    value : 0,
    increment : function (inc) {   
        this.value += typeof inc === 'number' ? inc :1;
    }
}
obj.increment();
console.log(obj.value);  //1
obj.increment(2);
console.log(obj.value);  //2

         3.使用call和apply动态调用

function f(x,y) {  //定义求和函数
    return x + y;
}
console.log(f.call (null, 3, 4));  //返回7

         4.new命令间接调用

function (x,y) {  //定义函数
    console.log("x =" + x + ", y =" + y);
}
new f(3,4);

函数的参数传递:

值传递即把基本数据类型的值复制给函数形参,函数内对这种类型参数的修改不会影响传入的值。

例如:

var a = 123;
function fn(b) {
    b = 234;
    console.log(b); // 234
}
fn(a);
console.log(a); // 123

箭头函数

基本用法:

var f = v => v;
//等价于
var f = function(a){
 return a;
}
f(1);  //1

箭头函数和普通函数的区别

箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有两种格式,一种只包含一个表达式,连{ ... }和return都省略掉了。还有一种可以包含多条语句,这时候就不能省略{ ... }和return。

箭头函数是匿名函数,不能作为构造函数,不能使用new

箭头函数不绑定arguments,取而代之用rest参数...解决

箭头函数不绑定this,会捕获其所在的上下文的this值,作为自己的this值

箭头函数通过 call()  或   apply() 方法调用一个函数时,只传入了一个参数,对 this 并没有影响。

箭头函数没有原型属性

箭头函数不能当做Generator函数,不能使用yield关键字

闭包

代码示例:

var add = (function () {
    var counter = 0;
    return function () {return counter += 1;}
})();
add();
add();
add();
// 计数器为 3

原理:

变量 add 指定了函数自我调用的返回字值。

自我调用函数只执行一次。设置计数器为 0。并返回函数表达式。

add变量可以作为一个函数使用。非常棒的部分是它可以访问函数上一层作用域的计数器。

这个叫作 JavaScript 闭包。它使得函数拥有私有变量变成可能。

计数器受匿名函数的作用域保护,只能通过 add 方法修改。

五、数字

parseFloat

parseFloat() 函数可解析一个字符串,并返回一个浮点数。

该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。

语法

parseFloat(string)

parselnt

parseInt() 函数可解析一个字符串,并返回一个整数。

当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。

当忽略参数 radix , JavaScript 默认数字的基数如下:

  • 如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。
  • 如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。
  • 如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。

语法:

parseInt(string, radix)

isNaN

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

如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。

语法:

isNaN(value)

toFixed

toFixed() 方法将一个浮点数转换为指定小数位数的字符串表示,如果小数位数高于数字,则使用 0 来填充。

toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。

注意:toFixed() 方法在进行四舍五入时可能会产生一些不准确的结果,这是因为 toFixed() 方法在处理浮点数时,实际上使用的是舍入到最近的偶数(银行家舍入)策略,而不是标准的四舍五入。这种舍入策略是为了在大量运算时减小累积误差。

实例:

var num = 5.56789;
var n=num.toFixed(2);
//n的输出结果:5.57

个人总结,供个人使用 o(*≧▽≦)ツ┏━┓

目录
相关文章
|
2月前
|
存储 JavaScript 索引
js基础笔记(个人)
js基础笔记(个人)
|
4月前
|
存储 JSON JavaScript
js必备知识小结(二)
js必备知识小结(二)
16 0
|
7月前
|
JavaScript 前端开发 数据安全/隐私保护
|
JavaScript
js基础笔记学习273练习5之一
js基础笔记学习273练习5之一
58 0
js基础笔记学习273练习5之一
|
JavaScript
js基础笔记学习224练习1之1
js基础笔记学习224练习1之1
49 0
js基础笔记学习224练习1之1
|
JavaScript
js基础笔记学习318练习1
js基础笔记学习318练习1
37 0
js基础笔记学习318练习1
|
JavaScript
js基础笔记学习92-提升1
js基础笔记学习92-提升1
32 0
js基础笔记学习92-提升1
|
JavaScript
js基础笔记学习124-旧类2
js基础笔记学习124-旧类2
30 0
js基础笔记学习124-旧类2
|
JavaScript
js基础笔记学习2-js特点
js基础笔记学习2-js特点
53 0
js基础笔记学习2-js特点
|
JavaScript
js基础笔记学习123-旧类1
js基础笔记学习123-旧类1
42 0
js基础笔记学习123-旧类1