day day up

1、null和undefined的区别

null表示一个空的值,和0以及空字符串' '不同,0是一个数值,‘ ’表示长度为0的字符串,而null表示空。

undefined表示未定义。大多数情况下应该用null。undefined仅仅在判断函数参数是否传递 的情况下有用。

2、js是动态语言,可以对变量进行任意赋值。也可以自由的给对象添加或删除熟悉。

var i=2;

i='123'

静态语言比如java不行。

3、strict模式

es5中强制使用var声明变量,如果浏览器支持strict模式,变量未进行声明,会报referenceError错误。

而在es6中,使用let声明局部变量,var声明全局变量,const声明常量

4、字符串

es6新增字符串拼接:

var name='xhh';

var age=20;

var message='你好,${name}今年${age}岁了

常见操作:

string.length;

字符串是不可改变的,使用string[i]改变字符串时,不会报错但也不会又任何改变。

string.toUpperCase()

string.toLowerCase()

string.indexOf(str) 搜索指定字符串出现的位置,未找到返回‘-1’

string.substring(x,y)返回指定索引区间的子串

5、数组

对array.length进行赋值会改变数组的大小

对array[i]赋值时,如果i>array.length也会改变array的大小

array.indexOf()

array.slice(x,y)返回x位置开始的y个元素

array.push(),array.pop()入栈出栈

array.unshift()往头部添加

array.shift()把头部第一个元素删除

array.sort()排序

array.reverse()反转

array.splice()指定的索引开始删除若干元素,然后再从该位置添加若干元素

array.concat()拼接,返回新的数组

array.join()用'-'将每个元素连接起来,然后返回连接后的字符串

6、if ...else...

如果语句块只包含一条语句,那么可以省略{}。省略{}的危险之处在于,如果后来想添加一些语句,却忘了写{},就改变了if...else...的语义

7、Map和Set

8、for ... of 遍历Map,Set,Array

修复了for ...in 的问题

var a = ['A','B','C'];

a.name ='Hello';

for(var x in a) {

console.log(x);// '0', '1', '2', 'name'

}

9、获取所有参数,使用...rest

let sum=function(...rest) {

  let n=0;

  for(let i=1;i<rest.length;i++){

n+=rest[i]

}

return n

}

sum(1,2,3,4)

10、array.map()和array.forEach()区别

使用forEach来修改原数组,使用map来返回一个新的数组

array.forEach((number,index) => {

return array[index]=num*2;

})

forEach适合于你并不打算改变数据的时候,而只是想用数据做一些事情 – 比如存入数据库或则打印出来。

let doubled=array.map( num=>{

return num*2

})

map()适用于你要改变数据值的时候。不仅仅在于它更快,而且返回一个新的数组。这样的优点在于你可以使用复合(composition)(map(), filter(), reduce()等组合使用)来玩出更多的花样。

11、变量提升

javaScript的函数定义有个特点,它会先扫描整个函数体的语句,把所有申明的变量“提升”到函数顶部.

严格遵守“在函数内部首先申明所有变量”

12、var that=this;

a={

name:'xhh',

birth:1995,

age:function(){

var that=this;

function getAge(){

return new Date().getFullYear()-that.birth;

}

return getAge();

}

a.age();

13、apply和call

指定this指向哪个对象,可以用函数本身的apply方法,apply接收两个参数,一个是需要绑定的this变量,一个参数是array,表示函数本身的参数。

call与apply类似,apply把参数打包成array,call按顺序传入

Math.max.apply(null,[1,2,3])

Math.max.call(null,1,2,3)

改变内置函数指向

var count=0;

var oldParseInt=parseInt;

window.parseInt=function(){

count+=1;

return oldParseInt.apply(null,arguments)

}

14、array.reduce

let a=[1,2,3,4]

a.reduce(function(x,y){

return x+y;

}

Array的reduce()把一个函数作用在这个Array的[x1, x2, x3...]上,这个函数必须接收两个参数,reduce()把结果继续和序列的下一个元素做累积计算

15、重写parseInt

function stringToInt(s){

let strArray=s.split('');

let intArray=strArray.map((x) => {

return +x;

})

return intArray.reduce( (x,y)  =>  {

return x*10+y;

})

}

16、大小写规范

function normalize(arr){

function change(item){

let newItem=item[0].toUpperCase+item.substring(1).toLowerCase();

return newItem;

}

arr.map(change);

}

17、array.map(parseInt)问题

正确写法array.map(function(x){

return parseInt(x);

}

因为parseInt接收三个参数currentValue,index,array

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容