js基础第五天

函数返回值

如果一个函数没有明确的返回值,接收这个函数,结果是undefined

    * arguments----->可以获取函数调用的时候,传入的实参的个数
    * arguments是一个对象,是一个伪数组
    * arguments.length--->是实参的个数
    * arguments[索引]---->实参的值
创建对象三种方式
  • 1.调用系统的构造函数创建对象

  • var 变量名= new Object(); Object 是系统的构造函数 Array

    var obj = new Object();
        //对象有特征---属性和行为---方法
        //添加属性-----如何添加属性?  对象.名字=值;
        obj.name = "小苏";
        obj.age = 38;
        obj.sex = "女";
        //添加方法----如何添加方法? 对象.名字=函数;
        obj.eat = function () {
          console.log("我喜欢吃油炸榴莲凉拌臭豆腐和大蒜");
        };
    
  • 2.自定义构造函数创建对象(结合第一种和需求通过工厂模式创建对象)

    第一种
    function createObject(name,age) {
          var obj = new Object();//创建对象
          //添加属性
          obj.name = name;
          obj.age = age;
          //添加方法
          obj.sayHi = function () {
            console.log("阿涅哈斯诶呦,我叫:" + this.name + "我今年:" + this.age);
          };
          return obj;
       }
      第二种
     function Person(name,age) {
          this.name=name;
          this.age=age;
          this.sayHi=function () {
            console.log("我叫:"+this.name+",年龄是:"+this.age);
          };
        }
    

    自定义构造函数 可以判断对象具体属于哪一个类别

  • 3.字面量的方式创建对象

var obj = {
        name: "上官",
        age: "20"
    }
    console.log(obj);

栈放地址 堆放数据

总结对象
字面量方式的缺陷

一次性对象 值被写死了

访问属性的另一种写法

######一种是 对象点的方式

比如在json中 循环遍历 如果 json.key 相当于添加属性 不能获取值

如果是 json[key]相当于 获取里面的属性名字 里面的值可变

//对象中确实有这个属性对象.属性名字 或者对象[属性名字]

对象没有这个属性遍历 使用 对象[属性名字]

一种是对象[“name”]; []的形式
JSON格式的数据
var json = {
      "name": "小明",
      "age": "10",
      "sex": "男"
    };
    //遍历对象,是不能通过for循环遍历,无序

    //key是一个变量,这个变量中存储的是该对象的所有的属性的名字
    for (var key in json) {
      console.log(key + "===========" + json[key]);
    }
数据类型
//原始数据类型: number,string,boolean,undefined, null,object
    //基本类型(简单类型),值类型: number,string,boolean
    //复杂类型(引用类型):object
    //空类型:undefined,null

    //值类型的值在哪一块空间中存储? 栈中存储
    //引用类型的值在哪一块空间中存储?对象在堆上存储,地址在栈上存储

    //var num=10;//值类型,值在栈上
    //var obj={};//复杂类型,对象在堆,地址(引用)在栈

    //值类型之间传递,传递的是值
    //引用类型之间传递,传递的是地址(引用)

    //值类型作为函数的参数,传递的是值
    //引用类型作为函数的参数,传递的是地址
引入类型传递的是地址
 var obj={
      name:"小明"
    };
    function f2(obj2) {
      obj2.name="小红";
    }
    console.log(obj.name);//
    f2(obj);
    console.log(obj.name);//
内置对象
    * 1.内置对象----js系统自带的对象
    * 2.自定义对象---自己定义的构造函数创建的对象
    * 3.浏览器对象---BOM的时候讲
* 内置对象:
    * Math
    * Date
    * String
    * Array
    * Object
Math对象

实例对象 : 通过构造函数创建出来,实例化对象

静态对象: 不需要创建 直接就是一个对象,属性,方法直接通过这个对象名字调用,

leg Math.abs(x);等 静态方法 必须通过大写进行调用 第一个字母大写

Math不是一个函数 是对象

Math.abs(null) 结果是 0

Math.PI 输出的是 3.1415…

Math.ceil() 向上取整

Math.floor() 想下取整

Math.E 常数的底数

Math.fround() 转换成小数

Math.max(10,20)输出一堆数字的最大值

Math.min()输出一堆数字的最小值

Math.random()获取0到1的随机数 不包括1 包括0

Math.sqrt() 开平方

Math.pow(2,3) 8 幂运算

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值