JavaScript对象的基本操作(增删改查),基本数据类型和引用数据类型,函数的参数和返回值

对象

基本数据类型都是单一的值,创建的变量独立,不能成为一个整体

  • 对象属于复合的数据类型,在对象中可以存放多个不同类型的属性

对象的分类

1、内建对象
由ES标准中定义的对象,在任何 的ES的实现中都能使用如:Math String Number Boolean Function Object
2、宿主对象
由JS的运行环境提的对象,目前 来讲主要由浏览器提供的对象。 如Bom浏览器对象模型 Dom 文档对象模型 console.log();document.writre();
3、自定义对象
由开发者自己创建


对象的基本操作(增删改查)

var obj = new Object();
在对象中保存的值称为属性
1.向对象中添加属性:
语法:对象.属性名 = 属性值

		var obj = new Object();
        obj.name = "臭猪";
        obj.gender = "男";
        obj.age = 22;

2.在对象中读取属性:
(如果读取对象中没有的属性会返回undefined)
语法:对象.属性

console.log(obj.age);

3.修改对象的属性值
语法:对象.属性名 = 新值

obj.name = "臭臭";

4.删除对象的属性
语法:delete 对象.属性名

 delete obj.age;

属性名和属性值

  • 属性名
    对象的属性名不强制要求遵守标识符的规范,但尽量按照标识符的规范去做
    如果要使用特殊的属性名,不能采用.的方式来操作,需要:对象[“属性名”] = 属性值
        obj["lalal"] = 123;
        console.log(obj["lalal"]);
  • 属性值
        //创建一个对象
        var obj2 = new Object();
        obj2.name = "猪猪";
        //将obj2设置为obj的属性
        obj.test = obj2;
        console.log(obj.test.name);

in运算符
通过该运算可以检查一个对象中是否含有指定的属性

console.log("test" in obj);

返回false或true


基本数据类型和引用数据类型

  • js中的变量都保存到 栈内存中的

1.基本数据类型的值直接在栈内存中存储
值与值之间是独立存在的,修改一个变量不会影响其他变量
2.引用数据类型是保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟出一个新的空间,而变量保存的是对象的内存地址(对象的引用)
在这里插入图片描述
如果两个变量保存的是同一个对象引用,当一个通过一个变量修改属性时,另一个也会收到影响
在这里插入图片描述修改对象其中一个值时,无影响
在这里插入图片描述当比较基本数据类型的值时,比较值;
当比较两个引用数据类型时,比较地址;
如果两个对象是一模一样的,但地址不同,它们也是不一样的
在这里插入图片描述


对象字面量

使用字面量来创建对象

        var a = new Object();
        //使用字面量来创建对象
        var b = {};

直接指定对象中的属性
语法:{属性名:属性值,属性名:属性值,…}

      	  var ojb2 = {
                name:"🐖", 
                age:"22",
                gender:"男"
                };

函数

函数也是一个对象
函数中可以封装一些功能(代码),需要时可以 执行这些功能(代码),在需要时调用,使用typeof检查一个函数对象时,会返回function

  1. 可以将要封装的代码以字符串的形式传递给构造函数(很少用)
    调用函数 语法:函数对象();
		 //可以将要封装的代码以字符串的形式传递给构造函数
        var fun = new Function("console.log('hello!')");
        //调用函数 语法:函数对象();
        fun();

2.使用函数声明来创造一个函数*
语法:function 函数名([形参1,形参2...]){语法1}

        //使用函数声明
        function fun2() {
            console.log("lalalal");
            console.log("hahah");
        }
        //调用函数
        fun2();

3.使用函数表达式来创建一个函数
在这里插入图片描述

        var fun3 = function(){
            console.log("dada");
        }
        fun3();

函数的参数

定义一个求两个数的和的函数(形参)

        function sum(a,b){
            console.log(a+b);
        }
        sum(2,3);
        //5

函数调用时,解析器不会检查实参的类型,要注意是否会接收到非法的参数类型

        function sum(a,b){
            console.log(a+b);
        }
        sum(2,"hello");
        //2hello

多余的形参不会被赋值

        function sum(a,b){
            console.log(a+b);
        }
        sum(2,4,"hello","77","ugu");
        //6

如果实参的数量少于形参的数量,则没有对应实参的形参 将时undefined

        function sum(a,b){
            console.log(a+b);
        }
        sum(2);
        //NaN

函数的返回值

可以使用return来设置函数的返回值
语法:return 值,return后的值将会作为函数的执行结果返回,可以定义一个变量来接收该结果

  • 创建一个函数,用来计算三个值的和 return
        //创建一个函数,用来计算三个值的和
        function sum(a,b,c){
            var d = a + b + c;
            return d;
            //return后面的语句都不会执行
            alert("哈哈哈");
        }
       var result = sum(1,2,3);
       console.log(result);

如果return语句不跟任何值就相当于返回一个undefined,如果函数中不写return,也相当于返回一个undefined

  • 定义一个函数,判断一个数字是否是偶数 ,如果是则返回true 不是则返回false
        function ha(){
            return a % 2 == 0
        }
        var a = ha(11)
        console.log(a);

定义一个函数,可以根据半径算一个⚪的面积,并返回计算结果

        function cyc(r){
            return 3.14 * r *r
        }
        var a = cyc(2)
        console.log(a);

立即执行函数

函数定义完,立即被回调,只会执行一次

        // 立即执行函数
        (function(a,b){
            console.log("a = " + a);
            console.log("b = " + b);
        })(11,2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值