07-javaScript基础

☞ 函数其他部分

  • arguments [掌握]

    1. arguments 作用?

      解决当函数的形参个数不确定的时候,通过arguments获取实参的值
      
    2. 如何使用arguments 获取用户传递实参的值?

      arguments 在函数中就是用来保存实参信息的伪数组 (可以按照数组的方式去遍历, 但是不能使用数组的方法)☞ 通过遍历arguments 就可以得到实参的值
      
  • arguments总结

    1. 当函数中参数个数不确定时候, 可以通过arguments获取实参的值
    2. 当函数的参数个数以确定的时候,也可以通过arguments获取实参的值
    3. 如果函数的参数确定,那么就不推荐使用arguments获取实参的值
  • 课堂案例

    课堂案例:1. 求任意个数中的最大值2. 求任意个数的和
    
  • 匿名函数 自调用函数 (了解)

    • 匿名函数

      匿名函数: 没有名字的函数
      
    • 自调用函数

      自调用函数: 函数自己调用自己匿名函数 ---> 匿名函数可以自己调用自己
      有名字的函数  ----> 有名字的函数也可以自己调用自己//自调用函数: 函数自己调用自己// (function fn() {//     alert(1);// })();//自调用函数// (function() {//     alert(1);// })();总结:自调用函数,其实就是函数调用的另外一种写法
      
  • 函数作用域及作用域链 [了解]

    • 作用域

      • 全局作用域

        在函数外部的作用域, 在全局作用域中定义的变量,称为全局变量
        

- 局部作用域```js函数内部形成的作用域, 在局部作用域中定义的变量,称为局部变量```

- 全局变量和局部变量的区别1. 局部变量 只能在当前自己的局部作用域中使用,不能在全局作用域中使用(私人物品)2. 全局变量可以在任何作用域中使用(公共物品)
  • 作用域链

    作用域链: 多个作用域之间形成的一个链状结构
    

  • 作用域链有什么作用
var a = 1;
function fn1(){var a = 2;function fn2(){console.log(a);   //a的值 }fn2()
}
fn1();
  • 代码预解析 [了解]

    • 代码预解析

      代码在程序执行之前,做的一个准备工作 (生命周期)
      
    • 代码预解析的准备工作有哪些?

      1. 变量提升

        遇到变量的时候, 那么会将变量的声明提升到当前作用域的开始位置, 不包括变量的赋值
        
      2. 函数提升

        遇到函数的时候, 那么程序会将函数的声明提升到当前作用域的开始位置,不包括函数的调用
        

01.知识点-对象基本介绍

  • 为什么要学习对象?

    为了在保存数据的是,要做到 一一对应对象的本质就是一个容器.学习容器的套路:  如何定义, 如何赋值, 如何取值
    
  • 学习对象的路径[重点]

    1. 必须掌握4种创建对象的方式
    2. 必须掌握如何给对象赋值
    3. 必须掌握如何从对象中取值
  //学习对象的好处:/*1.在保存数据的时候左到一一对应2.对象的本质就是一个容器学习容器的套路: 如何定义,赋值,取值*/ // 创建对象的方式:// 一、属性:就是对象中的一个变量,变量中保存的是用来描述对象基本特征的值// 二、方法:本质上就是一个匿名函数,将对象中的匿名函数称为方法//1.  // 对象保存信息就是通过属性和方法保存// 属性保存特征,方法实现功能// var dhl = {//     // 属性://     userName : '王宇',//     userAge : 18,//     //方法://     jiangKe : function(){//         console.log('听课中。。。');//     }// };// 如何给对象赋值// 1.在定义对象的时候直接赋值// var dhl = {//     // 属性://     userName : '王宇',//     userAge : 18,//     //方法://     jiangKe : function(){//        alerta('听课中。。。');//     }// };//(掌握)  // 2.通过      (对象 . 自定义属性名)(对象 . 方法名)赋值// var obj = {}; //自定义一个空对象// //通过点的方式给属性赋值// obj.userName = '王宇';// obj.userHeight = 180;// //通过点的方式给方法赋值// obj.sahngKe = function(){//     alert('听课中....');// }// obj.run = function(){//     alert('跑步....');// }// console.log(obj);s// // 3.通过 对象['自定义属性(方法名)'] 赋值// 用[]自定义属性名跟方法是记住,[]里的属性需要用引号括起来,为了防止程序报错//         var obj = {};//自定义一个空对象//         //添加属性//         obj['userName'] = '张三';//         obj['age'] = 18;//         //添加方法//         obj['eat'] = function(){//             alert('跑步.....');//         }//         console.log(obj);// 如何给对象取值:获取属性或方法//1. 通过 · 的方式获取属性和方法// var  obj = {//     uname : 'wangyu',//     uage : 15,//     uheight :180,//     eat : function(){//         alert('正在吃饭....');//     },//     run : function(){//         alert('在跑步。。。。');//     }// }// console.log(obj.uname);// obj.eat();//2.通过[]的方式获取属性和方法var  obj = {uname : 'wangyu',uage : 15,uheight :180,eat : function(){alert('正在吃饭....');},run : function(){alert('在跑步。。。。');}}console.log(obj['uname']);console.log(obj['uage']);obj['run']();
  • 对象的组成

    1. 包括属性

      属性其实就是一个对象中的一个变量, 这个变量中保存的是用来描述对象基本特征的值
      
    2. 包括方法

      方法本质上就是一个匿名函数, 将对象中的匿名函数称为方法
      
    3. 总结: 如果要使用对象保存数据,那么对象中就应该有 属性 或 方法

02.对象的使用

  • 知识点-创建对象及赋值

    创建对象:

    1. 通过字面量方式创建对象

      var 自定义对象名称 = {自定义属性名 : 值,自定义函数名 : function() {}
      }
      

    给对象赋值

    1. 直接创建对象并赋值(以键值对的形式)【优先掌握第一种方式】

          var obj = {userName : 'dhl',eat : function() {alert('正在吃饭');}}
      
    2. 通过对象名的方式赋值 (掌握)

        var obj = {};   //空对象//通过点的方式给属性赋值obj.userName = '张三';obj.userHeight = 180;//通过点的方式设置方法obj.eat = function() {alert('正在吃饭');}obj.run = function() {alert('正在跑步');}console.log(obj);
      
    3. 通过对象[]方式赋值

      1. 切记,在[]进行自定义变量时,添加引号。
       var obj = {}; //空对象//添加属性obj['userName'] = '张三';//添加一个方法obj['eat'] = function() {alert('正在吃饭');}console.log(obj);
      
  • 知识点-获取对象中的值

    ☞ 对象.的方式

        var  obj = {uname : 'dhl',uage : 28,uheight: 180,eat : function() {alert('正在吃饭');},run : function() {alert('正在跑步');}}console.log(obj.uname);
    //方法: 函数 是用来调用执行的obj.eat();
    

    ☞ 对象[]的方式

     var obj = {uname : 'dhl',uage : 28,uheight: 180,eat : function() {alert('正在吃饭');},run : function() {alert('正在跑步');}}console.log(obj['uname']);// 调用方法: 调用方法或函数记得加()
    obj['run']();
    

    ☞ 总结:

    1. 讲了一种创建对象的方式(字面方式)
    2. 获取 / 设置 对象值的方式 适用于 任何一种形式创建出来的对象

3.其他创建对象的方式

  • 知识点-通过内置构造函数创建对象【创建单个对象】

    语法:
    var  自定义对象名 = new Object();总结:
    1. new 关键字: 就是通过调用构造函数创建对象的
    2. Object()构造函数: 本质就是一个函数, 构造函数的作用就是用来创建对象的
    3. new Object() 创建的对象 和  通过  {} 创建的对象是一会事儿把 通过  {} 创建的对象称为是  通过 new Object() 创建对象的语法糖写法
    
  • 知识点-通过工厂方式创建对象【创建多个对象】

    function people(userName, chenji) {var obj = new Object();obj.userName = userName;obj.score = chenji;return obj;
    }
    var xf = people('小飞', 100);
    var zb = people('志博', 90);
    console.log(xf, zb);
    
  • 知识点-通过自定义构造函数创建对象【推荐写法】

  • 创建对象总结

4.今日内容小扩展

  • 知识点-this关键字介绍
  • 知识点-new关键字介绍
  • 知识点-遍历对象
  • 知识点-instanceOf关键字介绍
  • 知识点-简单数据类型和复杂数据类型的区别

;
obj.score = chenji;
return obj;
}
var xf = people(‘小飞’, 100);
var zb = people(‘志博’, 90);
console.log(xf, zb);


- 知识点-通过自定义构造函数创建对象【推荐写法】- **创建对象总结**## 4.今日内容小扩展- 知识点-this关键字介绍
- 知识点-new关键字介绍
- 知识点-遍历对象
- 知识点-instanceOf关键字介绍
- 知识点-简单数据类型和复杂数据类型的区别

javaScript第六天(2)相关推荐

  1. javaScript第六天(1)

    JavaScript基础 核心知识点 对象 4种创建对象的方式 操作对象(取值,赋值) 今日学习目标 能够使用对象方式保存数据 能够理解自定义构造函数如何创建对象 能够获取对象中的值及给对象赋值 对象 ...

  2. Javascript第六天学习总结日期对象和定时器

    1日期对象(Date) Date是日期的意思.Data数据的意思. 1.3日期对象定义 他就是一个盒子.里面装满了与日期有关的所有信息的盒子. 日期对象一般不独立使用,可以独立获取里面的相关信息. W ...

  3. JS基础学习第六天:JavaScript对象入门(构造函数和实例对象)

    在 JavaScript 中,大多数事物都是对象, 从作为核心功能的字符串和数组,到建立在 JavaScript 之上的浏览器 API.你甚至可以自己创建对象,将相关的函数和变量封装打包成便捷的数据容 ...

  4. JavaScript基础第六天数组

    数组 数组初始 数组:一组数据的集合,数组的每一个数据叫做一个元素 数组元素可以是任意类型,同一个数组中的不同元素可能是对象或数组 注意:隐式方式创建的数组,最常用的方式 数组特点 一组数据的集合,数 ...

  5. 学习总结:JavaScript学习分享

    前言 在学习之前我都要求同学们用 Xmind 做知识点的总结,这样的好处技能提升我们编辑思维导图的能力,做思维导图在以后的工作当中是必备技能,通过每天总结达到练习思维导图的目的,在以后的工作当中就省去 ...

  6. JavaScript笔试题(js高级代码片段)

    目录 1.哈希表+计数类型 1.1.判断是否存在重复元素 1.2.字符串中的第一个唯一字符 1.3.有效的字母异位词 1.4.多数元素 1.5.只出现一次的数字 1.6.位1的个数 2.哈希表+映射功 ...

  7. 要不起对三队 - alpha冲刺(第六天)

    作业所属课程 构建之法-2021秋-福州大学软件工程 作业要求 2021秋软工实践 alpha冲刺 团队名称 要不起对三队 这个作业的目标 alpha冲刺(第六天) 成员日志 成员 完成的任务 任务时 ...

  8. 学习JS的第六天之字符串

    学习JS的第六天之字符串 其他学习笔记:点击前往 文章目录 学习JS的第六天之字符串 前言 一.字符串(String) 1.创建一个字符串 2.字符串(String)的方法 3.字符串的length属 ...

  9. 小白JavaScript学习笔记----web APIs

    目录 web API 操作DOM BOM,比如控制网页元素交互等各种网页交互效果 一.web APIs第一天(DOM-获取元素) 1.1变量声明 1.2Web API 基本认知 1.2.1作用和分类 ...

最新文章

  1. python requests库用法_python之requests库的使用
  2. pandas dataframe 做机器学习训练数据=》直接使用iloc或者as_matrix即可
  3. PyTorch + NumPy这么做会降低模型准确率,这是bug还是预期功能?
  4. VC++ (三)虚函数与重载
  5. matlab excel 进程,Matlab使用xlsread, xlswrite函数导致excel进程无法终止的问题
  6. 利用Pin实现CodeCoverage
  7. java输出动物,求大神帮助输出为什么只有动物名,几条腿,怎么叫,没有汤姆猫叫等...
  8. php apache 多进程,php多进程 防止出现僵尸进程 如何 使 apache 成为 僵尸进程
  9. 08-图8 How Long Does It Take
  10. linux下部署tomcat没起成功,linux下部署tomcat 上线jpress博客系统
  11. SVN提交时显示:Path is not a working copy directory
  12. mybatis中的自动提交事务的设置
  13. extjs6整合到web项目中
  14. COMSOL6.0软件安装说明+视频教程
  15. 将Flutter添加到现有应用——过程中遇到的问题
  16. Windows软件之——RocketDock之无法拖放图标到dock栏
  17. php读取加密表格,Excel表格如何加密
  18. linux中的码字软件,橙瓜码字神器手机版下载-橙瓜码字神器appv5.2.8-Linux公社
  19. 有赞.测试团队介绍(转)
  20. 电脑垃圾清理,恶意软件清理,C盘清理

热门文章

  1. Hadoop在MapReduce中使用压缩详解
  2. linux-shell命令之chmod(change mode)【更改权限】
  3. MII/MDIO接口详解(转)
  4. 使用TensorFlow 2.0+和Keras实现AlexNet CNN架构
  5. 菜品三级分类_分类器的惊人替代品
  6. 银行喜欢全额还款的客户,还是喜欢最低还款客户?--编辑
  7. 深圳部分写字楼租金暴跌,为何会出现这种情况?
  8. 克服SOA实施过程中的障碍
  9. 通过ISO镜像文件安装Ubuntu(可实现默认启动Windows的双系统)
  10. VHDL程序基本构建