关于 JS -基本用法

JS 基本用法

  1.  typeof
     返回变量类型
     var a = 33 
     console.log(typeof a)  // number
    
  2.  instanceof    A instanceof B  检测B.prototype是否存在于A的原型链上。
     判断一个对象是不是另外一个对象的实例
     简单用法:
         function Person(){};
         var p =new Person();
         console.log(p instanceof Person);//true
     复杂用法:
         function Person() {}
         console.log(Object instanceof Object); // true
         //第一个Object的原型链:Object=>
         //Object.__proto__ => Function.prototype=>Function.prototype.__proto__=>Object.prototype
         //第二个Object的原型:Object=> Object.prototype    
    
  3. 字符串方法:
       1.查找字符串中的字符串
           indexOf()
           lastIndexOf()
           search() //方法返回字符串中指定文本第一次出现的位置
       2. 截取字符串长度
           slice(start, end)
           substring(start, end)
           substr(start, length)
       3. replace() 替换
       4. 大小写
           toLowerCase() 
           toUpperCase()    // 使用正则表达式 /i(大小写不敏感)
       5. 链接字符串 
           concat()
       6. 首尾去空格
           trim()
       7. 提取字符串字符
           charAt(position)   
           var str = "HELLO WORLD";
           str.charAt(0);  // 返回 H
           charCodeAt(position) 
           // 方法返回字符串中指定索引的字符 unicode 编码:
       8. 把字符串转换为数组
           split()
           var str = "Hello";
           var arr = str.split("");  // ["H", "e", "l", "l", "o"]
    
  4.   数组方法
    
       1. 判断是否为数组
           1. Array.isArray(Arr1)
           2. Arr1 instanceof Array
           3. 假如对象原型包含单词 "Array" 则返回 true。
           function isArray(x) {
               return x.constructor.toString().indexOf("Array") > -1;
           }
       2.数组转字符串
           2.1 toString()
           2.2 join()
       3. 新增 删除数组
           新增:
               3.1 Push() 末尾增加
               3.2 unshift() 开头增加
           删除:
               3.1 pop() 末尾删除
               3.2 shift() 开头删除
       4. 拼接数组
           splice()
           splice(1,1,'demo') // 从索引为1,删除1个,新增一个demo
       5. 裁剪数组
           slice()
           slice(2,3) 从索引2开始,裁到索引3  不包括索引3(只裁剪索引2)
       6. 排序
           sort()
           A.sort(function(a,b)=>{
               return a - b // 升序
               return b - a // 降序 
               return a.year-b.year // 数组里对象一样使用
           })
       7. 翻转数组
           reverse()
       8.  forEach() 
           map() 
           filter() 
           reduce()  
           every() // 检查所有数组值是否通过测试 一个没有就是false
           some() //返回通过测试函数的第一个数组元素的值,有一个正确就是true
           find()  //返回通过测试函数的第一个数组元素的值
           indexOf()  // 查到就是索引没有查到返回-1
           includes() // 字符串 数组都可以用 包含返回true 不包含false
           求和
           let arr = [1,2,3,4,5]
           let result = arr.reduce((prev,cur)=>{
                return prev+cur
           })
           console.log(result)
           简单去重
           let arr = [1,2,3,4,5,2,3]
           let result = arr.reduce((prev,cur)=>{
                if (!prev.includes(cur)){
                   prev.push(cur)
                }
                return prev
           },[])
           console.log(result)
    
  5.   bind call apply 
    
           var name = '盖伦'
           var age = 18
           var obj = {
               name: "寒冰",
               age: 20,
               objAge: this.age,
               myFun: function (f, t) {
                   console.log(f,t);
                   return console.log(this.name + this.age + f + t);
               }
           }
           var demo = {
               name: 'jack',
               age: 200
           }
           console.log(obj.myFun.call(demo, '美国', 'porsche'));
           // console.log(obj.objAge);  // 18 
           // console.log(obj.myFun()); // 寒冰20
     
       1. call(this的指定对象,参数1,参数2)
       2. apply(this的指定对象,[参数1,参数2])
       3. bind(this的指定对象,参数1,参数2)()
       3. bind(this的指定对象,[参数1,参数2])()
    
posted @ 2020-05-28 18:28  Howar丶张  阅读(172)  评论(0)    收藏  举报