javaScript第六天(2)

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关键字介绍
- 知识点-简单数据类型和复杂数据类型的区别

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248268.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论wpf的设备无关性 - 简书

论wpf的设备无关性 - 简书 原文:论wpf的设备无关性 - 简书 WPF从发布之日起,一直将“分辨率无关(resolution independence)”作为其亮点,声称使用WPF制作的用户界面在轻巧的Ultra-Mobile PC的屏幕上和在50英寸的电视机上都能很好地显示。微软之所以称WPF…

浅谈Aho-Corasick automaton(AC自动机)

Aho-Corasick automaton是什么? 要学会AC自动机,我们必须知道什么是Trie,也就是字典树。Trie树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串&#xff…

javaScript第七天(2)

javaScript基础 ☞ 对象其他部分 [理解] 自定义构造函数创建对象[掌握] //继续简化 自定义构造函数 function People(uName, uAge) {this.uName uName;this.uAge uAge; } // 如何通过自定义构造函数创建对象? var zs new People(张三, 20); console.log(zs);注意事项: 自定…

js(Dom+Bom)第一天(1)

JavaScript-DOM(BOM)操作 核心知识 获取页面元素事件设置样式 学习目标 能够使用id名,标签名等方式获取页面中元素能够给标签注册点击事件,并实现对应效果能够给标签通过js方式设置样式 JavaScript组成 ECMASCRIPT (基础语法) DOM(文档对…

[HZNOI #koishi] Magic

[HZNOI #514] Magic 题意 给定一个 \(n\) 个点 \(m\) 条边的有向图, 每个点有两个权值 \(a_i\) 和 \(b_i\), 可以以 \(b_i\) 的花费把第 \(i\) 个点的 \(a_i\) 变成 \(0\). 最后每个点 \(i\) 产生的花费为所有从 \(i\) 出发能通过一条有向边直接到达的点 \(j\) 的 \(a_j\) 的 \…

js(Dom+Bom)第一天(2)

webAPI 00-复习 内置对象中的方法 01-JavaScript组成 知识点-ECMASCRIPT 重点回顾 存储容器 变量数组对象 逻辑语法 分支语句循环语句switch语句 知识点-BOM 概念 Browser Object Model (浏览器器对象模型) 操作浏览器将浏览器看做是一个对象.作用 通过js操作浏览器中相…

华为架构师8年经验谈:从单体架构到微服务的服务化演进之路

本次分享的技术大纲如下: 传统应用开发面临的挑战服务化实践服务化不是银弹服务化架构的演进方向一 、传统应用开发面临的挑战 挑战1-- 研发成本高 主要体现在如下几个方面: 代码重复率高在实际项目分工时,开发都是各自负责几个功能&#xff…

轮播图制作(1)

轮播图制作 <body><div><img src"img/1.jpg" class"imgs" alt""><a href"#" class"left"><</a> //此处的箭头也可以用图标做出来<a href"#" class"right">>…

StringUtils工具类的常用方法

StringUtils 方法的操作对象是 java.lang.String 类型的对象&#xff0c;是 JDK 提供的 String 类型操作方法的补充&#xff0c;并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException &#xff0c;而是做了相应处理&#xff0c;例如&#xff0c…

放大镜制作(1)

放大镜制作 <div class"box" id"box"><!--左侧的盒子--><div class"small"><!--图片--><img src"images/big.jpg" width"350" class"aaa" alt""/><!--黄色小盒子--&…

从零开始实现ASP.NET Core MVC的插件式开发(四) - 插件安装

标题&#xff1a;从零开始实现ASP.NET Core MVC的插件式开发(四) - 插件安装 作者&#xff1a;Lamond Lu 地址&#xff1a;https://www.cnblogs.com/lwqlun/p/11343141.html 源代码&#xff1a;https://github.com/lamondlu/Mystique 前情回顾 从零开始实现ASP.NET Core MVC的插…

立体导航翻转案例

<div class"box"><!-- 立方体 --><ul><li><img src"img1/1.jpg" alt""></li><li><img src"img1/2.jpg" alt""></li><li><img src"img1/3.jpg" a…

Uncontrolled memory mapping in camera driver (CVE-2013-2595)

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主同意不得转载。https://blog.csdn.net/hu3167343/article/details/34434235 /* 本文章由 莫灰灰 编写&#xff0c;转载请注明出处。 作者&#xff1a;莫灰灰 邮箱&#xff1a; minzhenfei163.com */ 1漏洞描写…

表格隔行变色

<body><table border"0" align"center" cellspacing"1" cellpadding"0"><caption>恭喜发财</caption><thead><tr><th>代码</th><th>名称</th><th>最新公布净值<…

项目管理的测试版发布

最近有时间将以前没有写完的项目管理程序进一步完善&#xff0c;加入了项目任务之间的关连。功能&#xff1a;1、任务的关连Start to finishStart to startFinish to startFinish to finish2、任务关连表环路检测3、采用MVC模式进行开发4、自动导出XML5、双击连接线可以设置、删…

Tab栏切换布局分析

<body><div class"tab"><div class"tab_list"><ul><li class"current">商品介绍</li><li>规格与包装</li><li>售后包装</li><li>商品评价(50000)</li><li>手机社…

CLR基础,CLR运行过程,使用dos命令创建、编译、运行C#文件,查看IL代码

CLR是Common Language Runtime的缩写&#xff0c;是.NET程序集或可执行程序运行的一个虚拟环境。CLR用于管理托管代码&#xff0c;但是它本身是由非托管代码编写的&#xff0c;并不是一个包含了托管代码的程序集&#xff0c;所以不能使用IL DASM进行查看&#xff0c;但CLR以dll…

表单的全选取消全选

<div class"wrap"><table border"1" cellspacing"0" cellpadding"0"><caption>恭喜发财</caption><thead><tr><th><input type"checkbox" id"j_cbAll" checked&quo…

HDU 4339 Query

算法: 比赛时没有想到好的算法&#xff0c;暴力是O&#xff08; Q * N &#xff09;肯定超时。 赛后&#xff0c;线段树&#xff0c;树状数组&#xff0c;HASH都能AC&#xff0c;想了下&#xff0c;的确用树状数组 时间复杂度就可以优化到O&#xff08;Q * lgN * lgN) 2000msAC…

201904快速阅读术

在看过了几本数之后&#xff0c;发现原来培养读书的习惯好像也不太难&#xff0c;“将读书融入生活&#xff0c;框定读书时间” 生活中&#xff0c;我确实也是这样执行了。利用每天上下班的时间听书&#xff0c;有些觉得可以读快的书籍用了1.5倍速度在听&#xff0c;难懂的部分…