javaScrip第五天(1)

06JavaScript基础

核心知识点

  1. 函数
    2. 函数中的参数
    2. 函数中的返回值

今日学习目标

  1. 能够完成函数相关案例
    2. 能够理解函数中的参数
    2. 能够理解函数中的返回值

函数

为什么要学函数?

 1.1100之间的数字之和

什么是函数?

函数的概念

  函数: 可以封装一段特定功能代码,然后通过函数名调用,实现对该段代码重复使用

函数的作用

实现代码的重复使用。
✔ 对分散代码整合(封装)
✔ 重复使用

创建函数

方式一: 函数声明及执行方式(推荐)

☞ 函数的声明:function  自定义函数名() {具体的功能代码}
注意:1. 由于函数是用来实现某种特定功能代码,所以一般我们设置函数名的时候,以动词开始。2. 函数不能自己执行代码,需要通过函数名调用实现代码的执行☞ 调用函数(执行函数)函数名();  //函数的调用

方式二:函数表达式(字面量)及执行方式(了解)

var  fn = function () {}   fn();

课堂一练

1. 将比较数字大小封装到一个函数中
2. 写一个函数,求1-100之间所有数的和
3. 通过函数方式实现:判断一个数字是基数还是偶数
4. 通过函数的方式实现: 在页面中打印一个10行直角三角形
5. 格式化日期的封装    yyyy-mm-dd  hh:mm:ss

函数的参数

 思考: 利用函数如何计算任意两个数字之和?

形参

在 函数创建时,在小扩号中定义的变量语法:
function 函数名(形参,形参,形参...) {//形参,就是一个占位符,命名规则和规范和变量一样//函数体
}注意:1 函数也可以做为参数进行传递

实参

实参,在函数调用时,在小扩号中所传入的实际的数据。语法:
函数名(数据,数据,数据...);   //实参,就是实际的数据

课堂一练

☞ 求 n - m 之间的数字之和    ☞ 求圆的面积  (3.14 * r*r)☞ 求3个数中的最大值  ☞ 判断一个数是奇数还是偶数  ☞ 求5个数的总和

函数的返回值

 思考: 如何在函数外面获取到上面代码计算出的任意两个数之和?

返回值:函数执行完后,可以把执行的结果 通过 return 语法 返回给 调用者

function add(num1,num2){
//函数体
return num1 + num2; // 注意:return 后的代码不执行
}
var resNum = add(21,6); // 调用函数,传入 两个实参,并通过 resNum 接收函数返回值
alert(resNum);// 27注意:1. 如果函数没有显示的使用 return语句 ,那么函数有默认的返回值:undefined2. 如果函数中写了return语句,后面没有写任何其他内容,那么函数的返回值依然是 undefined3. 一个函数只能有一个返回值4. return 代码执行完成后,后面的代码不再执行5. 函数也可以作为返回值(理解)

课堂一练

1.获取数组中最大值,并返回2.将一个数组中所有偶数添加到一个新数组中返回,并计算新数组总和。3 写一个函数,判断是否是闰年【能被4整除且不能被100整除,或者能被400整除】

课后练习

1. 写一个函数,实现对数字数组的排序。
2. 写一个函数,用户输入任意两个数字,获取最大值并返回 统计班级学生就业薪资,计算总薪资 和 平均薪资。统计班级学生就业薪资,计算薪资超过15000的人的个数。给一个不重复的数字数组,求最大值和最大值的在数组中的位置给一个字符串数组,将数组中的每一个数据拼接在一起,每个数据之间用 | 符合拼接。 如: ‘张三|李四|王五’给一个数字数组,该数组中有很多数字0,将不为0的数据存入到一个新的数组中

函数其他部分

arguments的使用

☞ 思考: 1. 如果一个函数的参数个数不确定该如何获取?2. 演示console.log()中不同个数参数的效果3. 介绍arguments对象☞ 通过 arguments获取到函数参数的个数 【不确定函数到底有多少个参数】☞ 总结:1. 如果函数参数不确定,可以定义函数的时候不写参数,通过arguments获取2. 如果函数的参数确定,那么推荐定义函数的时候写参数课堂案例:1. 求任意个数中的最大值2. 求任意个数的和

匿名函数和自调用函数

☞ 匿名函数: 没有函数名的函数
例如:
var  fn = function () {}
☞总结:1. 匿名函数不能单独使用2. 可以将匿名函数赋值给一个变量3. 可以让匿名函数自己调用自己(自调用函数【匿名函数】)☞ 自调用函数: 函数封装好,立即执行。总结:1. ( function () {} )(); 
☞ 函数属于一种数据类型  
☞ 函数作为参数
☞ 函数可以为返回值

函数作用域及局部变量

作用域

☞ 思考: 在函数内部定义的变量,在函数外部能否访问该变量作用域: 变量或者函数可以起作用的区域◆ 全局作用域(全局变量)1,在script标签中或者js文件中定义的变量,在任何地方都可以访问2,在函数内部声明变量不使用var关键字 (不建议使用)◆ 局部作用域(局部变量)1, 在函数内部定义的变量2, 局部变量只能在定义变量的函数中使用◆ 块级作用域 (目前所学版本没有,新版本语义中有块级作用域){块级作用域}  1. 本质上块级作用域中的变量在外部不能访问2. 但是在js中可以访问块级作用域的变量(证明js没有块级作用域)

全局作用域(全局变量)

声明在所有函数外部的变量,可以所有地方使用

局部作用域(局部变量)

声明在某个函数内部的变量或函数的形参,只能在函数内部使用

作用域链

作用域链:当访问一个变量时,会先从本作用域中去找这个变量,若找不到则向上一级作用域中去找,依次类推,就形成了一个作用域链。

作用域链面试题

☞ 分析代码执行结果var a = 1;function fn1(){var a = 2;function fn2(){console.log(a);   //a的值 }fn2()}fn1();☞ 分析代码执行结果function  f1 () {var num = 123;function f2 () {console.log( num );}f2 ();} var  num = 456;f1();

代码预解析

☞ 代码在执行前会进行预解析。1. 变量声明提升,把变量提升到当前作用域的最上面,不包括赋值2. 函数声明提升,把函数提升到当前作用域的最上名,不包括函数的调用

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

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

相关文章

伪静态回发

(1)自定义一个Actionlessform类,在aspx中不再使用系统提供的form 标记 创建此类并对其进行编译之后,要在 ASP.NET Web 应用程序中使用它,应首先将其添加到 Web 应用程序的 References 文件夹中。然后,要 使…

Supercomputer 解题报告

Supercomputer 设\(f_i\)为前\(i\)个时间内必须的完成的任务个数,那么答案就是\[ \max_{i}\lceil\frac{f_i}{i}\rceil \] 现在要支持区间加和全局\(\max\) 考虑分块,对每个块维护一个\(tag\)表示加标记 块内的\(\max\)则为\[ \max_i \frac{1}{i}\times t…

OCS (错误代码: 0-1-492)

http://hi.baidu.com/windowserver/blog/item/dcd6b851151d062d43a75b72.html 转载于:https://www.cnblogs.com/hubj/archive/2010/06/12/1757279.html

javaScript第五天(2)

javaScript基础 01.知识点-函数【重点】 学习函数的目的 就是为将重复的功能代码包装成一个工具(盒子), 方便程序员重复调用学习函数的路径 定义函数调用函数为了让函数的功能更加强大, 学习函数的 参数函数的返回值 函数的使用 函数的定义及调用 函数的定义 通过 function关…

How to ignore files and directories in subversion?

Step 1 Copy the files and directories to other place. Step 2 Delete the files and directories. Step 3 Commit. Step 4 Paste the files and directories from backup place. Step 5 Commit.转载于:https://www.cnblogs.com/mouseleo/p/10605322.html

arguments使用

只有函数才有argumentsfunction fn(){console.log(arguments);console.log(arguments.length);console.log(arguments[2]);//我们可以按照数组的方式遍历argumentsfor (let i 0; i < arguments.length; i) {console.log(arguments[i]);}}fn(1,2,3);伪数组 并不是真正意义上…

2.0 es6中forEach以及数组操作

前言&#xff1a; 小白的js之路...... 1. 遍历数组/集合 forEach usernameArray []; //遍历 users.forEach((user, index) > {let username user.name;//取出用户名添加到数组usernameArray[index] username; }) 2. 数组过滤filter()和查找find() let arr s.filter( x &…

输出GPLT

L1-023 输出GPLT &#xff08;20 分)给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序&#xff0c;按GPLTGPLT....这样的顺序输出&#xff0c;并忽略其它字符。当然&#xff0c;四种字符&#xff08;不区分大小写&#xff09;的个数不一定是一样多的…

javaScript第六天(1)

JavaScript基础 核心知识点 对象 4种创建对象的方式操作对象&#xff08;取值&#xff0c;赋值&#xff09; 今日学习目标 能够使用对象方式保存数据能够理解自定义构造函数如何创建对象能够获取对象中的值及给对象赋值 对象 思考&#xff1a; 如何通过js函数将人的信息输…

Reversing-x64Elf-100

一道很简单的小题 作为python小白这道题主要是学习了一点python知识...... 可以看出来 sub_4006FD 这个函数是用来判断输入密码是否正确的 我们看一下它的伪代码&#xff1a; signed __int64 __fastcall sub_4006FD(__int64 a1) {signed int i; // [rsp14h] [rbp-24h]const ch…

javaScript第六天(2)

07-javaScript基础 ☞ 函数其他部分 arguments [掌握] arguments 作用? 解决当函数的形参个数不确定的时候,通过arguments获取实参的值如何使用arguments 获取用户传递实参的值? arguments 在函数中就是用来保存实参信息的伪数组 (可以按照数组的方式去遍历, 但是不能使用数…

论wpf的设备无关性 - 简书

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

暑期学习总结6

本周书面学习时间大概6小时&#xff0c;代码上5小时&#xff0c;java的基础知识已经基本都学过一遍了&#xff0c;剩下的就是要巩固&#xff0c;进行了一些实例操作&#xff0c;过程还算满意&#xff0c;类的运用已经掌握了很多&#xff0c;现在已经习惯了java的类定义方法&…

javaScript第七天(1)

JavaScript基础 核心知识点 Math对象中的方法数组对象中的方法字符串中的方法 今日学习目标 能够掌握Math对象中的相关方法能够掌握数组对象中的push方法能够掌握操作字符串的方法 内置对象介绍 ☞ JavaScript组成&#xff1a; ECMAScript | DOM | BOM ☞ ECMA…

ISLR学习笔记(2)线性回归

第三章 几种常见的线性模型 1、简单线性回归 Y≈β0β1X 2、多元线性回归 Y≈β0β1X1β2X2... 3、扩展线性回归 Y≈β0β1X1β2X2β3X1X1 克服了多元线性模型 X1X1 与 X2X2 不协同作用的假设。 4、多项式回归 Y≈β0β1X1β2X12β3log(X1)β4√X4 转载于:https://www.cnblog…

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

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

javaScript第七天(2)

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

数据挖掘、机器学习书籍推荐!!

强烈推荐&#xff1a;《机器学习》 (西瓜书) 入门读物&#xff1a; 《深入浅出数据分析》 这书挺简单的&#xff0c;基本的内容都涉及了&#xff0c;说得也比较清楚&#xff0c;最后谈到了R是大加分。难易程度&#xff1a;非常易。 《啤酒与尿布》 通过案例来说事情&#xff0c…

楼兰图腾(权值线段树)

在完成了分配任务之后&#xff0c;西部314来到了楼兰古城的西部。 相传很久以前这片土地上(比楼兰古城还早)生活着两个部落&#xff0c;一个部落崇拜尖刀(‘V’)&#xff0c;一个部落崇拜铁锹(‘∧’)&#xff0c;他们分别用V和∧的形状来代表各自部落的图腾。 西部314在楼兰古…

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

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