zoukankan      html  css  js  c++  java
  • JS基础三

    对象

    对象的概念:对象是一个具体的事物。

    对象是由书写和方法组成的

    • 属性:事物的特征,在对象中用数学来表示 person.name
    • 方法:事物的行为,在对象中用方法来表示

    三种创建对象的方法

    1. 对象字面量(对象名中采取键值对的形式)

      • 里面的属性或者方法,我们采用键值对的形式

      • 多个属性和方法,我们用逗号隔开的

      • 方法冒号后面我们用的是匿名函数

      • 调用对象的属性,我们采用 对象名.属性名 或者对象名['属性名']

      • 调用对象的方法 对象名.方法()

        var obj ={
                    name = '张三',
                    age = 18;
                    sayHi:function(){
                        console.log('hi~~');   
                    }
                }
        
    2. new Object 创建对象

      利用等号来进行赋值,添加对象的属性和方法

      var obj = new Object();
              obj.name = '鸣人';
              obj.age = 19;
              obj.sex = '男';
              obj.skill = function(){
                  console.log('影分身');  
              }
              console.log(obj.name);
              console.log(obj.skill());
              
      
    3. 利用构造函数创建对象(因为前面两种方法一次只能从创建一个对象)

      • 构造函数的首字母要大写
      function Star(name,age,sex){
                  this.name = name;
                  this.age = age ;
                  this.sex= sex;
              }
              var ldh = new Star('刘德华',18,'男');
              console.log(ldh.name);
      

    new 关键字的执行过程

    1. new构造函数可以在内存中创建一个空的对
    2. this就会只想刚才创建的空对象
    3. 执行构造函数里面的代码 给这个空对象添加属性和方法
    4. 返回这个对象

    for..in遍历

    用来遍历对象或者数组,主要用域遍历对象,可以遍历对象的属性(主要),也可以遍历方法

    var ldh = new Star('刘德华',18,'男');
            for(var k in ldh){
                console.log(k);
                console.log(ldh[k]); 
            }
    

    ldh[k] 里面的k不需要引号 这个k是一个变量

    p155 内置对象

    JS里面有三种对象:自定义对象,内置对象,浏览器对象(独有)

    概念:JS语言自带的对象,提供给开发者使用,并且提供一些常用的或者是最基本而必要的功能

    最大的优点:帮助我们快速开发

    p156 查阅文档

    主要使用MDN(推荐),W3C来查询

    使用方法:搜索对应的方法 就可以出现详细信息的功能(了解语法,参数,返回值

    p169 数组

    数组的创建的两种方式

    1. 字面量**

      var arr = [1,2,3];

    2. new Array()

      var arr = new Array(2);//表示这个数组 长度 为2

      var arr = new Array(2,3); 等价于[2,3]

    检测是否为数组

    1.instanceof : 判断格式

    var arr = [];
    console.log(arr instanceof Array);//方法一
    console.log(Array.isArray(arr));//方法二 
    

    2.Array.isArray(参数)

    IE9 以上支持,H5的新方法

    添加和删除数组元素

    1. push()方法

      var arr = [1,3,4];
      arr.push(100);
      console.log(arr);
      arr.unshift(arr);
      
    2. unshift 在数组的开头添加元素

    删除数组元素(两种)

    arr.pop() :一次只能删除一个 最后的那个,返回的是删除的那个元素

    arr.shift(); 删除数组第一个元素 一次只能删一个

    翻转数组,排序

    arr.reverse();//可以之间翻转

    arr.sort();排序 升序,降序

    		var arr = [2,1,3,4];
            arr.sort(function(a,b){
                return a-b;//a-b是升序排列,b-a是降序排列
            });
            console.log(arr);
    

    返回数组索引号

    arr.indexOf('blue'); 只返回 **第一个 **满足条件的索引号

    **找不到 **的情况下,则 返回-1

    arr.lastIndexOf('blue');从**后面往前面查找 **查到到的第一个

    数组去重

    拿着旧数组的元素去查询新数组,如果有了则不查询 利用indexOf()是否等于-1

    function unique(arr){
                var newArr = [];
                for(var i =0 ;i<arr.length;i++){
                    if(newArr.indexOf(arr[i]) === -1){
                        newArr.push(arr[i]);
                    } 
                }
                return newArr;
            }
            var arr =[1,1,3,3,2,2,5,5];
            console.log(unique(arr));
    

    数组转换为字符串

    1. arr.toString();

    2. join(分隔符)

      console.log(arr.toString());
      console.log(arr.join('--'));
      

    基本包装类型

    简单数据类型为什么有length的属性呢?

    下面是他的内部运行过程

    (1).把简单数据类型包装成复杂数据类型

    var temp = new String('Andy');

    (2).赋值给我们声明的变量

    str = temp;

    (3).销毁临时变量

    temp = null;

    字符串不可变

    字符串改变其实是指向的变化,是新开辟的字符

    不要大量拼接字符串

    根据字符返回位置

    字符串的所有操作都不会改变字符串本身

    str.indexOf('要查找的字符',起始的位置)

    替换字符,split()方法

    console.log(str.replace('a','z'));
    

    只会替换第一个字母

    简单数据类型和复杂数据类型

    值类型:null(返回一个空对象),number,boolean,string,undefined

    引用类型:

    1. 堆:复杂数据类型(放对象的具体内容,它的地址存放在栈中)
    2. 栈:简单数据类型(直接开辟一个内存空间,存放的是值)
  • 相关阅读:
    HTML连载10-details标签&summary标签&marquee标签
    [刷题] 7-14 然后是几点
    [刷题] 7-18 出租车计价 (15 分)
    [刷题] PTA 7-20 简单计算器
    [刷题] PTA 7-22 用天平找小球
    [刷题] PTA 7-24 猜数字游戏
    [刷题] PTA 7-28 求整数的位数及各位数字之和
    [刷题] PTA 7-30 念数字
    [刷题] PTA 7-37 输出整数各位数字
    [刷题] PTA 7-35 猴子吃桃问题
  • 原文地址:https://www.cnblogs.com/li33/p/13138637.html
Copyright © 2011-2022 走看看