zoukankan      html  css  js  c++  java
  • day7

    1- 分别说明 split slice splice join 方法的作用和参数,并举例:

    split方法用于把字符串分割成字符串数组,接收一个分隔符参数,分隔符可以是用于分解字符串或正则表达式的字符。

    1
    2
    3
    4
    5
    6
    7
    var str = "Hello World";
    var bySpace = str.split(" ");
    //  ["Hello", "World"]
     
    var otherString = "How9are7you2today";
    var byDigits = str.split(/d/);
    //  ["How", "are", "you", "today"]

      slice方法可以从已有数组中返回指定元素。它接受两个参数,第一个规定从何处开始选取,第二个规定从何处结束选取(不包括该元素)。如果没有传参,则默认为从数组的开           头开始到结尾结束,这是复制整个数组的简单方式。slice返回一个新数组,不会修改原始数组

    var arr = ["Cat", "Dog", "Tiger", "Zebra"];
    var newArray = arr.slice(1, 3);
    // 将新数组设置为 ["Dog", "Tiger"]

    splice()接收的前两个参数基于调用splice()数组中元素的索引。记住,数组的索引是从 0 开始的(zero-indexed),所以我们要用0来指示数组中的第一个元素。splice()的第一个参数代表从数组中的哪个索引开始移除元素,而第二个参数指示要从数组中删除多少个元素.

    1
    2
    3
    4
    let array = ['today''was''not''so''great'];
    array.splice(2, 2);
    // 从第 3 个元素开始,删除 2 个元素
    // 该数组等于 ['today', 'was', 'great']

      join()用来把数组中的所有元素放入一个字符串,并通过指定的分隔符参数进行分隔。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    var arr = ["Hello""World"];
    var str = arr.join(" ");
    // Sets str to "Hello World"
     
     
    function sentensify(str) {
      return str.split(/W/).join(' ');
     }
    sentensify("May-the-force-be-with-you");

    2- 举例说明强制类型转换和隐式类型转换?

       强制类型转换:

            转换为string:  toString() / String()

            转换为Boolen:  Boolen();

            转换为number: number() /  parseFloat() / parseInt()

       隐式类型转换:

    字符串加数字,数字就会转成字符串。

    数字减字符串,字符串转成数字。如果字符串不是纯数字就会转成NaN。字符串减数字也一样。两个字符串相减也先转成数字。

    乘,除,大于,小于跟减的转换也是一样。

    隐式转换的其他例子

    复制代码
    console.log(10+'20') //2010
    
    console.log(10-'20')//-10 number
    console.log(10-'one') //NaN not a number
    console.log(10-'101a') //NaN
    console.log(10*'20') //200 number
    console.log('10'*'20') //200 number
    console.log(20/'10') //2 number
    console.log('20'/'10') //2 number
    console.log('20'/'one') //NaN
    复制代码

       "=="

    undefined等于null

    字符串和数字比较时,字符串转数字

    数字为布尔比较时,布尔转数字

    字符串和布尔比较时,两者转数字

    console.log(undefined==null) //true
    console.log('0'==0) //true 字符串转数字
    console.log(0==false) //true 布尔转数字
    console.log('0'==false) //2个都转成数字
    console.log(null==false) //false
    console.log(undefined==false)//false

    3- 判断一个变量是否是数组的方法?

     ***** Array.isArray() *

      通过es6的Array.isArray()判断

    let arr = []
    console.log(Array.isArray(arr))   //true

      ***** Object.prototype.toString.call  

    var arr = []
    console.log(Object.prototype.toString.call(arr))   //[object Array]
    console.log(Object.prototype.toString.call(arr)===Object.prototype.toString.call([])) //true

      instanceof 
      instanceof用来判断一个变量是否是一个对象的实例,我们可以通过instanceof来判断是否为数组

    var arr = []
     
    console.log(arr instanceof Array )   //true

    constructor

     instanceof会将继承Array的对象判断为数组,也可以通过直接判断变量的构造函数是否等于Array来判断

    let arr = [1,2,3]
    console.log(arr.constructor===Array) //true

    4- 什么是原型对象?

        在js中,分为普通对象和函数对象.

         在js中,创建一个函数A, 那么浏览器就会在内存中创建一个对象B,而且每个函数都默认会有一个属性 prototype 指向了这个对象( 即: prototype的属性的值是这个对象 )。这个对象B就是函数A的原型对象,简称函数的原型。这个原型对象B 默认会有一个属性 constructor 指向了这个函数A ( 就是说:constructor属性的值是函数A ).

    5- 什么是原型链

    当访问一个对象的某个属性时,会先在这个对象本身属性上查找,如果没有找到,则会去它的__proto__隐式原型上查找,即它的构造函数的prototype,如果还没有找到就会再在构造函数的prototype__proto__中查找,这样一层一层向上查找就会形成一个链式结构,我们称为原型链

  • 相关阅读:
    数组模拟队列实现
    Vue之模板语法
    初识Vue之helloworld
    二、Lambda表达式
    一、函数式编程
    SpringCloudAlibaba之Nacos
    SpringCloudAlibaba之Sentinel
    spring的随笔2
    spring的小想法1
    关于hibernate的一些看法
  • 原文地址:https://www.cnblogs.com/Natural-numbers/p/14483379.html
Copyright © 2011-2022 走看看