![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js基础
文章平均质量分 59
flying_s1988
这个作者很懒,什么都没留下…
展开
-
位操作符
位操作最底层上的操作,js中所有数值都以IEEE-754-64位格式存储位操作,会先将64位数值,转换为32位整数,再执行操作,结果再转换为64位对于有符号数,最后一位表示数值的符号位负数是以二进制补码的形式存储的,求补码规则先求这个数值绝对值的二进制码再对该二进制码取反,称为反码得到的反码再加1,即可得到补码默认情况下,es中所有的整数都是有符号整数64位转换位32位过...原创 2018-12-20 11:32:05 · 82 阅读 · 0 评论 -
JS闭包
闭包高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回当一个函数返回一个函数后,其内部的局部变量还可以被新函数引用function lazy_sum(arr) { var sum = function() { return arr.reduce(function(x, y) { return x + y; });...原创 2018-12-24 17:13:49 · 107 阅读 · 0 评论 -
操作符和关系运算转换规则
乘法*操作数为非数值的情况下会执行自动转换若一个操作数是NaN结果为NaN若Infinity 与 0 相乘结果是NaN无限 与 无限相乘结果还是无限若一个操作数不是数值,则会调用Number()进行转换除法/如果一个数是NaN结果为NaN如果是Infinity除以Infinity,结果是NaN0 / 0,结果为NaN非0数值,除以0,结果为Infinity或者-Inf...原创 2018-12-18 15:38:11 · 204 阅读 · 0 评论 -
高阶函数
高阶函数高阶函数map and reducefiltersort高阶函数Higher-order function接受函数作为参数的函数称为高阶函数function add(x, y, f) { return f(x) + f(y);}add(5, -6, Math.abs); // 11map and reducemap()方法定义在js的Array中,调用Ar...原创 2018-12-23 21:36:09 · 95 阅读 · 0 评论 -
JS方法
JS方法JS方法apply and callJS方法一个对象中绑定函数,就称为该对象的方法var xiaoming = { name: '小明', birth: 1990, age: function() { var y = new Date().getFullYear(); return y - this.birth; }...原创 2018-12-23 16:00:30 · 166 阅读 · 0 评论 -
js数值转换规则
数值转换Number() parseInt() parseFloat()三个函数Number()如果是Boolean,true转化为1,false转化为0如果是null,返回0如果是undefined,返回NaN如果是字符串若只包含数字(包括正号负号的情况),则转化为十进制数值同理可以转化浮点数和十六进制数值空字符串转化为0其它则转化为NaN如果是对象,则调用val...原创 2018-12-17 21:07:25 · 258 阅读 · 0 评论 -
js ++ --应用规则
++ –后置递增和递减操作是在包含它们的语句执行之后才执行的前置,递增和递减是在包含语句执行前执行的其它规则在应用于一个包含有效数字的字符串时,先转化为数字,在执行操作若不包含有效数字字符串,则将变量设置为NaN应用于布尔值是,先转化为数字,再执行操作应用于浮点数值时,直接加减1应用于对象时候,先调用valueOf()方法,再应用于前述规则...原创 2018-12-17 20:51:02 · 359 阅读 · 0 评论 -
变量作用域与解构赋值
变量作用域与解构赋值作用域变量的提升全局作用域命名空间解构赋值作用域var声明的变量实际上是由作用域的在函数内部声明的变量作用域为整个函数体function foo() { var x = 1; x += 1;}x = x + 2; //ReferenceError! 无法在函数体外引用变量x内部函数可以访问外部函数定义的变量,反过来则不行变量的提升j...原创 2018-12-22 20:59:12 · 150 阅读 · 0 评论 -
JS Map Set and iterable
JS Map Set and iterableMapSetiterableMapjs默认的对象表示方式{}可以看作其它语言中的Map和Dictionary的数据结构,一组键值对js对象的键必须是字符串,实际上Number和其它数据类型也是非常合理的es6规范引入了新数据类型Map定义var m = new Map(['Michael', 95], ['Bob', 75], ['Tr...原创 2018-12-22 19:02:26 · 81 阅读 · 0 评论 -
javascript对象
对象对象定义对象的操作对象定义js对象是一种无序的集合数据类型,它由若干键值对组成var xiaoming = { name: "小明", birth: 1990, school: "No.1 middle School", height: 170, weight: 65, score: null};键值对用","隔开,最后一个键值...原创 2018-12-22 16:38:55 · 86 阅读 · 0 评论 -
值、类型和操作符
值、类型和操作符Numberstringunary operatorboolean valueslogical operatorauaomatic type convertionNumber64位bit存储整数(精确表示)和浮点数(不精确表示)可以用科学计数法表示,3.14e10special numberInfinity 无穷NaN Not A Number0b二进制0...原创 2018-12-17 17:07:05 · 163 阅读 · 0 评论 -
数组
数组数组的定义数组的属性数组的方法多维数组数组的定义var arr = [1, 2, 3]var arr = new Array(1, 2, 3);js的array可以包含任意数据类型数组的属性通过索引访问每个元素 arr[0]; // 1arr.lenth 可以获得数组的长度array可以通过索引把对应的元素修改为新的值,对索引赋值会直接修改数组注意,如果通过索引赋值时,...原创 2018-12-22 15:24:58 · 90 阅读 · 0 评论 -
字符串
字符串字符串定义常见字符串的操作字符串常用方法字符串定义用’’ 或者 ""括起来的字符如果既有 ’ 又有 ",可以使用转义字符 \ 来表示\n表示换行 \r制表符 \\ 表示的字符就是 \\x 表示转义十六进制字符 \u####表示转义一个unicode字符不用转义,直接反引号可以用来表示多行字符串(ES6)模板字符串var name = "ming";var age = 2...原创 2018-12-22 14:27:07 · 88 阅读 · 0 评论 -
原型链(一)
原型链(一)一切都是对象函数和对象的关系prototype原型隐式原型instanceof一切都是对象值类型undefined number string boolean可以说使用typeof输出的集中类型的标识,不属于对象应用类型函数、数组、对象、null、new Number(10) 都是对象引用类型判断用instanceof对象对象里面的一切都是属性只有属...原创 2018-12-27 21:53:45 · 162 阅读 · 0 评论 -
js基本语句
基本语句if 选择语句,最好使用代码块,代码清晰do-while 循环语句先执行一次循环体,才会测试循环条件while 循环语句,先测试循环条件,若满足再执行循环体for 循环语句前置循环,先测试循环条件具有在循环开始之前初始化循环变量,和循环后执行操作的能力使用while做不到的,同样使用for做不到JS不存在块级作用域,因此循环内部定义的变量也可以在外部访问灵活性...原创 2018-12-20 11:58:27 · 194 阅读 · 0 评论 -
JS箭头函数
箭头函数ES6标准新增的函数:Arrow Functionfunction(x) { return x * x;}// 等价于x => x * x;类似于其它语言的lambda表达式如果包含多条语句,{} 和 return 则不能省略如果参数是多个,需要括起来(x, y) => x + y如果要返回一个对象,单表达式需要括号括起来x => ...原创 2018-12-24 19:26:54 · 143 阅读 · 0 评论