• 2.6对象和函数


    1.javascript对象
    6种数据类型:
    基本数据类型(5种)
    Undefined类型
    Null类型
    Boolean类型
    Number类型
    String类型
    复杂数据类型(1种)
    Object类型
    对象:大括号定义的无序的数据集合,由键值对构成,键与值之间用冒号分隔,大括号末尾用分号表示对象定义结束
    语法:var obj={key1:value,key2:value};
    ps:键值对间用‘,’分开
    (1)键名(属性)(2)键值(属性值:可以是任何数据类型)
    ps:若一个属性的值是函数,称这个属性为方法。
    (3)对象的创建方式
    a.直接使用大括号创建对象
    b.使用new命令生成一个Object对象的实例
    c.使用Object.create方法创建对象
    var obj1={};
    var obj2=new Object{};
    var obj3=
    (4)对象属性的读写
    a.读取属性
    语法:var obj={key:value};
    ①obj.key;②obj["key"];
    b.写入属性
    点运算和中括号运算都可以为对象的属性赋值,无论对象是否存在该属性
    小结:【中括号】和【点符号】的区别
    a.【】可以用纯数字来作为对象的属性,.不能
    b.【】可以使用【】保存的内容来作为对象的属性,.不能
    c.中括号可以用JS的关键字和保留字来作为对象的属性,.不能
    d.【】总是可以代替.,而.不能总是代替【】
    思考角度:从后台拿到数据后如何处理?怎么拿到属性,有哪些方法,有什么区别?等等
    (5)对象属性的操作
    ①【obj.keys()】获取对象的所有属性
    思考!赋值去重问题
    ②【delete】从对象中删除一个属性
    语法:delete obj.property;
    删除的是属性以及属性值(即一对键值对);
    返回值是一个布尔值(成功:ture;失败:false)
    【注意】ps:若删除一个不存在的属性,同样返回正确!
    思考:如何避免,令你删除的属性存在!

    ③【in】检查对象是否包含一个属性
    语法:'key'in obj
    ps:检查的是键名,而不是键值。存在返回ture,不存在返回false
    【for in】遍历的是对象的属性名,而不是属性值
    ④【with】可以同时对多个属性进行操作(es6已弃用)
    语法:with(obj){key1:value;key2:value}
    ps:只能对已经存在的属性进行修改,无法修改不存在的属性
    ⑤*(了解)对象的引用
    若不同的变量指向同一个变量,那他们都称为这个对象的引用
    即这些变量指向同一个内存地址
    2.javascript函数
    结论:在函数外部关心它能做什么
    在函数内容关心怎么做
    语法:funciton函数名(函数参数1,参数2,...){
    函数内容语句//函数体
    }
    ps:函数只定义,只是一个机器,并不能执行,因此必须写执行函数.
    (1)函数的声明
    【function命令】
    语法:function 函数名(参数1,参数2,...){函数体}
    【函数表达式】
    语法:var 变量=function(参数1,参数2,...){函数体}
    【Function构造函数】
    语法:var 变量= new Function();
    思考:重复写(声明)一个重名的函数会发生什么?(覆盖)
    (2)函数的调用
    编译过程中发生变量声明的提升
    C语言~编辑成机器语言~编译成01
    函数~unicode编码
    (3)函数的类型
    名词解释:
    返回值:【函数执行结束后】返回到【原本程序中函数所在的位置】用来代替函数的【结果】,通常用return来实现
    形式参数:形参只用来在函数内部使用,在函数外部形参失效。通常形参不用var声明,直接写变量名即可(占位用的)
    实际参数:在函数调用的时候,传入函数内实际生效的参数
    ①无参无返回值
    ②无参有返回值
    ③有参无返回值
    function fun3(num1,num2){
    console.log("这是有参无返回值函数,两个参数分别为:"+num1+'---'+num2);
    }
    function(3,2);
    ④有参有返回值
    function sum(num1,num2){
    var temp=num1+num2;
    return temp;
    }
    var result=sum(10,20);
    console.log(result);
    (4)函数的作用域
    作用域(scope)指的是变量存在的范围,js只有两种作用于:
    全局作用域→全局变量
    函数作用域→局部变量
    (5)函数的补充说明:
    a.ECMAScipt规定:不能在非函数的代码快中声明函数
    理解:if(a>0){
    function func(){}//wrong way!
    }
    b.可以使用name属性来获取函数名
    c.可以使用length属性来获取函数参数的个数
    d.函数中还有一种特殊的函数,叫自执行函数
    格式:(function(){}())或者(function(){})()
    如有纰漏,不吝赐教~end
    与其苟延残喘,不如从容燃烧!~
  • 相关阅读:
    html5那些事儿
    Jquery插件开发方法
    Jquery用途
    常用的Jquery工具方法
    Jquery的方法(二)
    Jquery的方法(一)
    jQuery中bind,live,delegate,on的区别
    什么是大数据?
    Jquery选择器
    Caffe学习系列(12):不同格式下计算图片的均值和caffe.proto
  • 原文地址:https://www.cnblogs.com/ilaozhao/p/6574173.html
Copyright © 2020-2023  润新知