19-day

      ==比较

如果两边都是number类型,有一边是NaN,则结果false

如果两边数据类型不一样:

如果边是字符串,一边是数字,则会将字符串转为数值,然后比较

 如果有一边是布尔值,则会将布尔值转为数字(true=>1

false=>0), 然后比较

如果边是对象, 另-边是字 符串或数字则会将对象调用toString和valueOfj

法,转为原生值,然后比较1

 如果边是undefined, 另一边是nu11这 比较结果true

 如果比较条件都不是符合之前的一种,返回结果都是false

]如果逻辑表达式放在条件判断的小括号中,会将结果默认转为布尔值

逻辑表达式的结果

   &&  俩边的表达式,从左往表达的是结果转布尔值为false,则将这个表达式的结

果作为整个表达式的结果,如果两个都为true, 则将后面的表达式的结果作为整个表达式的

结果

   ||  两边的表达式,从左往右,如果表达的是结果转布尔值为true,则将这个表达式的结果

作为整个表达式的结果

,如果两个都为false, 则将后面的表达式的结果作为整个表达式的

结果




开启严格模式:在作用域的最前面,写上字符串use  strict 就开启严格模式

  1.在严格模式下,申明变量必须要使用关键字声明,否则报错

  2.严格模式下,定义函数的时候函数的形参不能同名

  3.在严格模式下,全局函数中的this不在指向window,变为undefined

    -  默认 全局作用域下的函数内部的,关键字this指向了window对象

    -  在全局的window对象中本身就有name属性,且值为空字符串(我们在全局中最好不要使用name)

ES5的数组常见方法

    1. forEach()遍历数组

          - 语法:

数组. forEach( function( item, index,arr){

       - item表示数组中的每一个元素

       - index表示数组中索引

       - arr表示数组本身

})

 组有多少个元素,就循环多少次

2. map()

         -映射根据特定的条件计算返回数组元素计算后的结果,是一个新数组

         -不会改变原数组

         -返回值为:按要求改变的新数组,按条件返回元素,条件要写在return后

3.filter()

         -按条件过滤数组中的元素,符合条件的元素返回组成一个新数组

         -不会改变原始的数组

         -返回值:是符合条件的原数组中的元素,组成的新数组

5.every()

         -遍历数组,只要数组中有一个元素不符合条件,就返回false, 全部符

合条件才返回true;循环数组中,只要出现了一次不符合条件的,就停止循环

         -不会改变原始的数组

         -返回值:布尔值

创建字符串的方式

 1.字面量方式创建

varstr1 = 'hello' ;

 2.内置构造函数创建字符串 String()

varstr = new String( ) ;

console.

log(str);——>空字符串

字符串常用方法

   -字符串也有索引下标,所以我们可以通过for循环遍历字符串中的字符

   -可以通过索引下标找到字符串中的对应字符

   -遍历字符串

方法:

  *  1.charAt(索引)  根据索引查找在字符串中的对应字符,如果找不到就返回空字符串

    2.charCodeAt()  根据索引查找在字符串中对应字符的ASICC编码,如果没有就返回NaN

  *  3.indexOf(内容)查找内容在字符串中的索引下标,如果没有就返回-1

 {indexOf(内容,起始索引)查找内 容从起始索引开始查找

}

  *  4.split(内容)  字符串根据指定的内容字符,炸开,形成一个数组

    5.substring(起始索引,结束索引)根据索引截取字符串中的内容,返回截取的内容,不会影响原始字符

(包前不包后, 不包含大的索引)

   *6.substr(起始索引,截取的个数)从起始索引开始截取对应的个数

  *  7.toLowerCase()转为小写  toUpperCase()转为大写


  * 8.replace(要替换那个内容,替换为什么内容)字符串内容替换

数组的冒泡排序

遍历数组拿到最大值,并放到最后的位置

循环数组的时候,将前一个和后一个进行比较,如果前一个更大,则交换位置


数组的选择排序

假设第0个位最小值

从第1个开始循环数组,拿数组中的元素个我们假设的值进行比较,如果比我们假设的更小,则记录下索引,并调换位置

假设第1个位最小值

从第2个开始循环数组,拿数组中的元素个我们假设的值进行比较,如果比我们假设的更小,则记录下索引,并调换位置

假设第2个位最小值

从第3个开始循环数组,拿数组中的元素个我们假设的值进行比较,如果比我们假设的更小,则记录下索引,并调换位置

临时包装数据类型

var str = 'hello';

 此时基本数据类型成功调用了 字符串对象中的方法 

  console.log(str.indexOf("e"));

  var num= 123.456;

 数字对象有一个方法toFixed() 保留数字的小数位数,会有四舍五入,不够就补0

  console.log(num.toFixed(1));

此时基本数据类型成功调用了 数字对象中的方法

   console.log(num.toFixed(10));

var flag = true;

toSting() 将对象转为字符串

此时基本数据类型成功调用了 布尔对象中的方法 

  console.log(flag.toString()); //字符串true

 在基本数据类型(数值,字符串,布尔),调用对应的对象的方法的时候这个数据会变成临时包装数据类型

临时包装数据类型,会将这个基本数据类型的变量临时包装为对象,去调用方法

在方法调用结束之后,临时包装类型的对象销毁








阿斯克码


ES5中的数组方法 indexOf方法

   var arr = [1,2,3,4,5];

1. forEach() 遍历数组

  - 不会改变原数组

- 没有返回值

  语法:

    数组.forEach(function(item,index,arr){

     item表示数组中的每一个元素

      index表示数组中索引

      arr表示数组本身

    })

  数组有多少个元素,就循环多少次



 2. map()映射 根据特定的条件计算返回数组元素计算后的结果,是一个新数组

- 不会改变原数组

- 返回值为:按要求改变的新数组,按条件返回元素,条件要写在return后


 3. filter() 按条件过滤数组中的元素,符合条件的元素返回组成一个新数组

- 不会改变原始的数组

- 返回值: 是符合条件的原数组中的元素,组成的新数组

4. some()  遍历数组,只要数组中有一个元素符合条件,返回布尔值true,否则返回false,循环数组中,只要出现了一次符合条件的,就停止循环

  - 不会改变原始的数组

- 返回值:布尔值

5. every()  遍历数组,只要数组中有一个元素不符合条件,就返回false,全部符合条件才返回true;,循环数组中,只要出现了一次不符合条件的,就停止循环

- 不会改变原始的数组

- 返回值:布尔值

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容