Day6

1-“==”和“===”的区别

1、=

作用是将一个表达式的值赋给一个左值。一个表达式或者是一个左值,或者是一个右值。所谓左值是指一个能用于赋值运算左边的表达式。左值必须能够被修改,不能是常量。我们用变量作左值,还可以看到,指针和引用也可以作左值。

2、==

当左边的内容与右边的内容相同时,返回1。其余时候返回0。==是判断两个值大小是否相同的运算符。

 

三、在程序中得到的结果不同

1、=

例如a=1,就是将1赋值给变量a。

2、==

返回值为布尔型,例如a==b是判读变量a和b的值是否相等,如果a和b相等,返回值为1;如果a和b不相等,返回值为0。

将确定的数值赋给变量的语句叫做赋值语句。各程序设计语言有自己的赋值语句,赋值语句也有不同的类型。所赋“值”可以是数字,也可以是字符串和表达式。

注意很多语言都使用“等于号”(即“=”)来作为赋值号,所以可能和和平时的理解不同,在使用的时候应予以注意。

二-js 中常用的内置对象,并列举该内置对象的方法

(一)Array对象
1、concat()
例:var arr1=arr. concat (1,2,3)
var arr1=arr. concat (arr) 表示把几个数组或元素合并成一个数组
2、join()
例:var str= arr. join( ) 设置分隔符连接数组元素为一个字符串
3、pop()
例:arr. pop() 删除数组尾部一个元素
var a=arr. pop( ) 删除并返回被删除的元素;
4、shift()
例:arr. shift( ) 删除数组头部第一个元素
var a=arr. shift( ) 删除并返回被删除的元素
5、slice(start,end)
例:arr. slice ( ) 截取复制,返回数组中的一段,(从哪个元素开始截取,到哪个元素之前结束)
6、splice()
例:arr. splice( ) 删除,插入,替换,(从哪个元素开始删除,删除几个元素,要插入的元素)
7、push()
例:var a=arr. push( ) 在数组尾插入元素,返回新的长度
8、unshift( )
例:var a=arr. unshift( ) 在数组头部插入元素,并返回新的长度
9、indexOf(查找内容,从什么位置开始查找)
lastindexOf(查找内容,倒着从什么位置开始查找)
查找数组中是否有某项,有的话返回该项的所引,没有话返回-1
10、forEach( ) 遍历 没有返回值
例:arr. forEach(function (item, index, arr ){
})
(数组元素,数组下标,数组本身)
11、filter 过滤元素
: var arr1=arr. filter( function (item, index, arr ){
})
返回新的数组,对数组进行过滤
12、map
例:arr. map( function (item, index, arr ){
})
返回新的数组,并改变数组
13、some、every
例:arr. some( function (item, index, arr ){
})
arr. every( function (item, index, arr ){
})
都返回布尔值,some 有一个符合就是true,every有一个不符合就是false
14、reduce
例:arr. reduce( function (value,item, index, arr ){
},初始值)
返回value,求和时使用
二、Math对象
Math.floor() 向下取整
Math.ceil() 向上取整
Math.random() 取0-1之间的随机小数
Math.round() 四舍五入
Math.abs() 取绝对值
Math.pow(x,y) x的y次幂
Math.sqrt() 开平方
Math.max() 取最大值
Math.min() 取最小值
三、Date对象
date. getFullYear( ) 获取年
date. getMonth()+1 获取月
date. getDate( ) 获取日
date. getDay( ) 获取星期
date. getHours( ) 获取小时
date. getMinutes( ) 获取分钟
date. getSeconds( ) 获取秒
date. getTime( ) 获取1970年1月1日0时0分0秒到现在的毫秒数

 
三-列举和数组操作相关的方法?
// 索引:
var arr = ["hello",true,"world",2,5,"abc"];
console.log(arr) //["hello", true, "world", 2, 5, "abc"]
console.log(arr.length) // 6
// 增:
console.log(arr[0]) //hello
console.log(arr[arr.length-1]) //abc
console.log(arr[arr.length]) //undefined
arr[arr.length] = "hahahah"; 
console.log(arr[10]) //undefined
arr[10] = "heiheihie"
console.log(arr) //["hello",true,"world",2,5,"abc","hahahah",empty × 3,"heiheihie"]
console.log(arr[7]) //undefined
console.log(arr[8]) //undefined
console.log(arr[9]) //undefined
// 删:
console.log(arr.length) //11
arr.length = 4;
console.log(arr) //["hello", true, "world", 2]
// 改:
arr[1] = "qwe"
arr[3] = 123
console.log(arr) // ["hello", "qwe", "world", 123]
// // 查:
for(var i=0;i<arr.length;i++){
console.log(arr[i]) //hello
//qwe
//world
//123
}
数组的方法
(1)数组元素的增加
1.push()向数组的末尾添加一个或多个元素,并返回新的长度。

var arr = ["hello",true,123,"world"]


arr.push(456,"你好");

console.log(arr);

2unshift()向数组的开头添加一个或多个元素,并返回新的高度

var arr = ["hello",true,123,"world"]


arr.push(456,"你好");


arr.unshift(789);

console.log(arr);

(2)数组元素的删除

1.pop()删除并返回数组的最后一个元素

var arr = ["hello",true,123,"world"]


arr.pop();

console.log(arr)

2.shift()删除并返回数组的第一个元素

var arr = ["hello",true,123,"world"]


arr.pop();

 

   

arr.shift();

console.log(arr);

(3)数组元素的其他方法

1.替换arr.splice(m,n,date1,date2...)从m开始,共n个,替换data

var arr = ["hello",true,123,"world"]


arr.splice(1,2)

arr.splice(1,2,"admin")
arr.splice(2,0,"admin")
arr.splice(2,0,"admin","a","b",345)
console.log(arr)

2截取arr.slice(m,n);可从已有的数组中返回选定的元素。该方法接受两个参数slice(start,end),strat为必选,表示从第几位开始;end为可选,表示到第几位结束(不包含end位),省略表示到最后一位;start和end都可以为负数,负数时表示最后一位开始算起。

var arr = ["hello",true,123,"world"]

 

var a = arr.slice(1,3)
  console.log(a)
  var a = arr.slice(1)
  console.log(a)

3reverse()反转数组,返回结果

var a=arr.reverse();

console.log(a)

4sort()按字符规则排序,返回结果

var a=arr.sort();

console.log(a)

5valueOf()返回数组对象的原始值

var a=arr.sort();

var a=arr.valueOf();

console.log(a)

6toString()转换为字符串并返回

var arr = ["hello",true,123,"world"]


var a=arr.toString();

console.log(a)

7join()根据指定分隔符将数组中的所有元素放入一个字符串,并返回这个字符串

join(str);参数可选,默认为‘,’,以传入的字符作为分隔符

var arr = ["hello",true,123,"world"]


 var a=arr.join("-");

 console.log(a)

8.concat()用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

concat;所有参数可选,要合并的数据;data为数组时,将data合并到原数组;data为具体数据时直接加到原数组尾部;省略时创建原数组的副本。

var arr = ["hello",true,123,"world"]

var a=arr.concat("你好","未来");
console.log(a)

 9.indexOf()根据指定的数据,从左向右,查询在数组中出现的位置,如果不存在的数据,返回-1.该方法是查询方法,不会数组产生改变。

var arr = ["hello",true,123,"world"]

 var a=arr.indexOf(123);

  console.log(a)

10.forEach()ES5新增方法,用来遍历数组,该方法没有返回值,forEach接受的回调函数会根据数组的每一项 执行,该回调默认有三个参数,分别为;遍历到数据的数组。对应的索引,数组自身。

 var arr = ["hello",true,123,"world"]

        var a = arr.forEach(function(value,index,self){

            

        console.log(value + "--" + index + "--" + (arr === self));

 

        })

 

        console.log(a)

11.map()同forEach功能,2.map的回调函数会执行结果返回, 最后map将所有回调函数的返回值组成新数组返回。

var arr = ["hello",true,123,"world"]
var a = arr.map(function(value,index,self){

console.log(value + "--" + index + "--" + (arr === self));

})
var a = arr.map(function(value,index,self){

return "Hi"+value;

})

console.log(a)
console.log(arr)

12filter() 1.同forEach功能;2.filter的回调函数需要返回布尔值,当为true时,将本次数组的数据返回给filter,最后filter将所有回调函数的返回值组成新数组返回(此功能可理解为“过滤”)。默认有三个参数,分别为value,index,self。

var arr = ["hello",true,123,"world"]

        var a = arr.filter(function(value,index,self){

 

        console.log(value + "--" + index + "--" + (arr === self));

 

        })

        var a = arr.filter(function(value,index,self){

 

        return value.length>3;

 

        })

 

        console.log(a)

        console.log(arr)

13

every () 判断数组中每一项是否都满足条件,只有所有项都满足条件,才会返回true。every()接收一个回调函数作为参数,这个回调函数需要有返回值,every(callback);callback默认有三个参数,分别为value,index,self。

当回调函数的返回值为true时,类似于forEach的功能,遍历所有;如果为false,那么停止执行,后面的数据不再遍历,停在第一个返回false的位置。

当回调函数的返回值为true时,every的返回值为true,只要有一个回调函数的返回值为false,every的返回值为false

var arr = ["Tom","abc","Jack","Lucy","Lily","May"];

    var a = arr.every(function(value,index,self){

        return value.length > 3;

    })

    console.log(a);           //false

 

    //demo2:

    var arr = ["Tom","abc","Jack","Lucy","Lily","May"];

    var a = arr.every(function(value,index,self){

        return value.length > 2;

    })

    console.log(a);           //true

14 some() 判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。some()接收一个回调函数作为参数,这个回调函数需要有返回值,some(callback);callback默认有三个参数,分别为value,index,self。因为要判断数组中的每一项,只要有一个回调函数返回true,some都会返回true,所以与every正好相反,当遇到一个回调函数的返回值为true时,可以确定结果,那么停止执行,后面都数据不再遍历,停在第一个返回true的位置;当回调函数的返回值为false时,需要继续向后执行,到最后才能确定结果,所以会遍历所有数据,实现类似于forEach的功能,遍历所有。

 

与every相反,只要有一个回调函数的返回值都为true,some的返回值为true,所有回调函数的返回值为false,some的返回值才为false

var arr = ["Tom","abc","Jack","Lucy","Lily","May"];

    var a = arr.some(function(value,index,self){

        return value.length > 3;

    })

    console.log(a);             //true

 

    //demo2:

    var arr = ["Tom","abc","Jack","Lucy","Lily","May"];

    var a = arr.some(function(value,index,self){

        return value.length > 4;

    })

    console.log(a);             //false

 15.reduce() 从数组的第一项开始,逐个遍历到最后,迭代数组的所有项,然后构建一个最终返回的值。reduce()接收一个或两个参数:第一个是回调函数,表示在数组的每一项上调用的函数;第二个参数(可选的)作为归并的初始值,被回调函数第一次执行时的第一个参数接收。

reduce(callback,initial);callback默认有四个参数,分别为prev,now,index,self。
callback返回的任何值都会作为下一次执行的第一个参数。
如果initial参数被省略,那么第一次迭代发生在数组的第二项上,因此callback的第一个参数是数组的第一项,第二个参数就是数组的第二项。

 

 
四-列举和字符串操作相关的方法?
String对象  字符串类型  引用类型
        //String  字符串类型  基本类型

        //字符串对象
        // var str = "";
        // var str = "哈哈";

        // //字符串可以看作多个字符组成的数组
        // //
        // var str  = "hello";
        // for(var i=0;i<str.length;i++){
        //     console.log(str[i])
        // }
        //String 是一个对象
        //字符串的特征:不可变性
        // var str ="哈哈哈";
        // str = "嘿嘿";
        // console.log(str)

        // var str = "hello";
        // str[1]  = "W";
        // console.log(str)
        // for(var i=0;i<str.length;i++){
        //     console.log(str[i])
        // }
        //可以通过索引访问字符串中的某个值,可以访问--只读
        
        var str = "hello"
        //String常用的属性和放法
        //.length  字符串长度
        //charAt() 返回指定索引位置的字符,超出长度,返回空字符
        //indexOf()  (查找字符串,从哪个位置开始)返回值首次出现的索引值,查找不到返回值-1
      //lastIndexOf()(查找字符串,从哪个位置开始)从右向左查找,索引任然从左向右计算
        //split()  要去掉的字符串,切割后留下的个数
        //slice()   (开始索引,结束的索引)截取字符串
        //提问//substring()(开始索引,结束索引)截取新的字符串,不包含结束的索引
        //formCharCode()(数字值,可以是多个参数) 返回的是ASCII码对应的值
        //concat()  (多个字符串类型的参数)返回拼接的结果
        //replace() (原来de字符串,新的字符串)替换第一个符合的元素
        //substr()   (开始位置,长度)截取后的新的字符串
       //toLocalLowerCase() 转小写
       //toLowerCase()  转小写
        //toLocalUpperCase() 转大写
       //toUpperCase()  转大写
       //trim()  去掉字符出串两端的空格
       var str = "abcdde"
       str.replace(a,b)

      //   console.log(str.charAt(100))
      //   console.log(str.indexOf("1",4))
      //   console.log(str.split("1"))
      //   console.log(str.slice(0,4))
      //   console.log(str.substring(0,4))
      //   console.log(String.fromCharCode(65))
      //   //var str = "小白"
      //   console.log(str+"world")
      //   console.log(str.concat("喜欢","啃骨头"))
      //   str.replace('ll',"oo")
      //   console.log(str)
      //   console.log(str.substr(1,2))
        
      //   console.log(str)

      //   var str = "HELLO"
      //   //str = str.toLocaleLowerCase()
      //   str = str.toLocaleLowerCase()
      //   console.log(str)
      //   str = "今天  星期一"
      //  str = str.trim()
      //    str = str.trim()
      //   console.log("==="+str+"===")
 
五-document.write()和 innerHTML 的区别?

document.writeinnerHTML

主要区别:document.write是直接将内容写入页面的内容流,会导致页面全部重绘,innerHTML将内容写入某个DOM节点,不会导致页面全部重绘

 下面举两个例子说明,第一个例子使用write()方法,第二个例子使用innerHTML

 例子一:页面有初始内容,点击页面中的按钮向页面中通过document.write()方法写入内容,会发现原先的初始内容消失了,整个页面只剩下了通过write()方法写入的内容。原因是整个页面进行了重绘

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

</head>

<body>

 初始内容

 <button onclick="fun()" >按鈕</button>

<script>

    function fun() {

        document.write("write内容");

    }

</script>

 </body>

</html>

举例二:页面有初始内容,在初始内容后面给定一个节点,通过innerHTML向这个节点写内容,初始内容不消失,通过innerHTML新增加的内容准确的显示在节点位置

 

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

</head>

<body>

 初始内容<a id="p"></a>

 <button onclick="fun()">按钮</button>

 <script>

    function fun() {

       document.getElementById("p").innerHTML="新增加的innerHTML内容";

    }

</script>

 </body>

</html>

posted @ 2021-02-04 11:37  景沁同学  阅读(130)  评论(0)    收藏  举报