一、函数

1.1 初步认识函数

1       <script type="text/javascript">
2 console.log("你好");
3 sayHello(); //调用函数
4
5 //定义函数:
6 function sayHello(){
7 console.log("欢迎");
8 console.log("welcome");
9 }
10 </script>
11 </body>


  函数,是一种封装。就是将一些语句,封装到函数里面。通过调用的形式,执行这些语句。
  函数的使用,是两个步骤,第一步,函数的定义:
  语法:

1   function 函数名字(){
2 3 }

  function就是英语“函数”、“功能”的意思。顾名思义,将一些功能封装到函数里面。
  function是一个关键字,和var、typeof一样,都是关键字,后面要加空格。
函数名字的命名规定,和变量的命名规定一样。只能是字母、数字、下划线、美元符号,不能以数字开头。
  后面有一对儿空的小括号,里面是放参数用的,下午介绍。大括号里面,是这个函数的语句。
常见错误:
  不能小括号包裹大括号:

1   function sayHello({
2
3 })

不能忘了小括号对儿:

1   function sayHello{
2 }

第二步,函数的调用。
  函数如果不调用,等于白写。
  调用一个函数,太简单了,就是这个函数的名字后面加小括号对儿。
语法:

1   函数名字();

  定义函数,可以在调用的后面:这是JS的语法特性,函数声明头的提升。知道就行了。

1           console.log("你好");
2 sayHello(); //调用函数
3
4 //定义函数:
5 function sayHello(){
6 console.log("欢迎");
7 console.log("welcome");
8 }

函数的功能、好处:
1) 将会被大量重复的语句写在函数里面,这样以后需要这些语句的时候,直接调用函数,不用重写那些语句。
2) 简化编程,让编程变的模块化。

1.2 函数的参数


实际参数和形式参数的个数,要相同。

1           qiuhe(3,4);
2 qiuhe("3",4);
3 qiuhe("我爱你","中国");
4
5 function qiuhe(a,b){
6 console.log(a + b);
7 }

1.3 函数的返回值

1       <script type="text/javascript">
2 console.log(qiuhe(3,4));
3
4 function qiuhe(a,b){
5 return a + b;
6 }
7 </script>

  return就是英语“返回”的意思,那么就表示此时这个“函数调用的表达式”(红色部分),值就是这个a+b。

● 函数里面可以没有return,如果有,只能有一个。不能有多个return;
● 函数里面,return后面不允许书写程序了,也就是说写在后面的程序无效;

二、算法练习

2.1 题目1:报7游戏的安全数

大家从小到大,都玩儿过的一个庸俗的游戏:
游戏玩儿法就是,大家轮流报数,如果报到能被7整除的数字,或者尾数是7的数字,都算踩地雷了。就应该罚唱歌。
请在控制台输出1~60之间的所有“安全数”。
比如:
1、2、3、4、5、6、8、9、10、11、12、13、15、16、18、19、20、22、23、24、25、26、29、30……

<script type="text/javascript">
for(var i = 1 ; i <= 60 ; i++){
//这个数字不能被7整除 且 这个数字的个位数不能是7
if(i % 7 != 0 && i % 10 != 7){
console.log(i);
}
}
</script>

2.2 题目2:水仙花数

水仙花数是一种特殊的三位数,它的特点就是,每个数位的立方和,等于它本身。
比如153就是水仙花数。因为:
1313+5353+3333 = 153
100~999之内,只有4个水仙花数,请找出来。

    <script type="text/javascript">

        //从100~999一个一个实验,看看谁符合水仙花数特点的。
for(var i = 100 ; i <= 999 ; i++){
//得到这个i的每一个位
var baiwei = parseInt(i / 100);
var shiwei = parseInt(i % 100 / 10);
var gewei = i % 10;
//验证是否符合水仙花数的特点
if(Math.pow(baiwei,3) + Math.pow(shiwei,3) + Math.pow(gewei,3) == i){
console.log(i);
}
}
</script>

2.3 题目3:求1~100的和

求和的题目,涉及到了新的一种算法思想,叫做“累加器”。
1+2+3+4+5+6……

1           var sum = 0;    //累加器
2 //遍历1~100,将所有的数字扔到累加器里面
3 for(var i = 1 ; i <= 100 ; i++){
4 sum = sum + i;
5 }
6 console.log(sum);

2.4 求阶乘

所谓的阶乘,比如6的阶乘,就是1*2*3*4*5*6 = 720。
现在,计算13的阶乘。

1   var result = 1;     //累乘器
2
3 for(var i = 1 ; i <= 13 ; i++){
4 result = result * i;
5 }
6 console.log(result);

2.5 用户输入一个数,输出因数的个数。

如:
用户输入48,弹出10。
用户输入21,弹出4
用户输入11,弹出2

<script type="text/javascript">
//用户输入一个数字
var num = parseInt(prompt("请输入数字"));
// 找因数
// 比如用户输入48,要从1~48,分别让48除以这个数
// 穷举法
var amount = 0; //个数,累加器
for(var i = 1 ; i <= num ; i++){
if(num % i == 0){
// console.log(i); //不想输出
amount++; //自增1
}
}
//循环语句结束之后,总量就已经产生了,弹出结果:
alert(amount);
</script>

2.6 判断质数

用户输入一个数字,弹出这个数字是否是质数。

<script type="text/javascript">
//用户输入一个数字
var num = parseInt(prompt("请输入数字"));
// 找因数
// 比如用户输入48,要从1~48,分别让48除以这个数
// 穷举法
var amount = 0; //个数,累加器
for(var i = 1 ; i <= num ; i++){
if(num % i == 0){
// console.log(i); //不想输出
amount++; //自增1
}
}
//循环语句结束之后,总量就已经产生了,弹出结果:
if(amount == 2){
alert("是质数");
}else{
alert("不是!!");
}
</script>

JavaScript--小白入门篇3的更多相关文章

  1. 【Unity游戏开发】SDK接入与集成——小白入门篇

    一.简介 通常一款游戏开发到后期,一般都会涉及到第三方SDK的接入与集成,对于不熟悉SDK接入的同学来说,接SDK每次都是云里雾里,而熟悉SDK接入的同学又觉得不断地重复做接入SDK工作这样没有成就感 ...

  2. Javascript之入门篇(一)

    上一篇学习了什么是JavaScript语言及其作用和特有的特点等,本篇将详细介绍JavaScript一些入门使用方式. 对于初学者来讲,由于JavaScript是嵌入到HTML页面里面的,首先创建一张 ...

  3. JavaScript的入门篇

    快速认识JavaScript 熟悉JavaScript基本语法 窗口交互方法 通过DOM进行网页元素的操作 学会如何编写JS代码 运用JavaScript去操作HTML元素和CSS样式 <!DO ...

  4. JavaScript(JS)入门篇

    <script type="text/javascript"> 表示在<script></script>之间的是文本类型(text),javas ...

  5. 【MySQL】Linux下mysql安装全过程——小白入门篇(含有问题详解)

    本次安装操作在申请的腾讯云上实现(版本:CentOS Linux release 7.4.1708 (Core) ). 根据教程实现(中途各种挖坑,填坑...),地址:http://www.runoo ...

  6. 阿里云学生机——Mysql配置---教小白入门篇

    首先,我的学生机默认配置为:CentOS 7.2 64位 + Tomcat 8 + Jdk8 + MySQL5.7.16 扩展:Linux 如何查看 MySQL 版本号----使用命令 mysql - ...

  7. JavaScript之入门篇(二)

    终于学到后面的语法部分了,感觉这门语言基础部分和当初学习VB的时候感觉一样一样的,章节目录让我不禁又想到了VB课本.由于怕学过了,过段时间忘了,于是,大概总结一下. 数据类型部分 ① Typeof操作 ...

  8. 小白入门篇:flex布局

    --前言 因为这个星期写一个小的项目用到flex布局和grid布局,虽然这两种布局都是兼容性都有问题,但是别急,我觉的以后肯定是会发展并且流行起来的,毕竟google大法好,而且这两个布局真的比一般的 ...

  9. ArcGIS API for JavaScript小白入门

    简单理解就是:通过js调用arcgis相关的方法和通过html引入css等资源来展示地图,代码如下: <!DOCTYPE html> <html> <head> & ...

  10. Monkey小白入门篇

    一.monkey简介 中文名:猴子 职业:压力测试小工具 用途:对待测Android应用程序进行压力测试,测试app是否会crash Android官方描述: The Monkey is a prog ...

随机推荐

  1. ubuntu tftp【转】

    本文转载自:http://www.cnblogs.com/wxl309729255/articles/2816594.html 配置eth0的 IP地址, 同时激活该设备. #ifconfig eth ...

  2. YTU 2517: 打倒魔王↖(^ω^)↗

    2517: 打倒魔王↖(^ω^)↗ 时间限制: 1 Sec  内存限制: 128 MB 提交: 231  解决: 112 题目描述 从前有一个王子,他喜欢上了邻国的一个公主.终于有一天他向公主表白了, ...

  3. bzoj 4807: 車【组合数+高精+线性筛】

    设n>m,答案是\( C_n^m \),然后高精就行了 具体做法是先把指数筛出来,然后对每个数因数分解,记录质因子个数,最后被除数减去除数质因子个数,把剩下的质因子乘起来就行了 #include ...

  4. bzoj1770: [Usaco2009 Nov]lights 燈(折半搜索)

    1770: [Usaco2009 Nov]lights 燈 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1153  Solved: 564[Submi ...

  5. mysql之distinct

    记录一下这几天看mysql必知必会的小知识点: 关于mysql查询不同的行 比如记录表中 查询有多少个城市 可能查出很多城市 可以用distinct 来解决这个问题 SELECT DISTINCT c ...

  6. 洛谷 P1462 通往奥格瑞玛的道路(spfa+二分搜索)(4boy)

    原题:http://www.luogu.org/problem/show?pid=1462#sub 4boy: 大意:给出n个城市,有m条路,每经过一个城市都要交钱,每经过一条道路都要扣HP,有HP上 ...

  7. java Class.getResource和ClassLoader.getResource

    http://www.cnblogs.com/wang-meng/p/5574071.html http://blog.csdn.net/earbao/article/details/50009241 ...

  8. ASP.NET SQL 总结

    1.SQLSERVER服务器中,给定表 table1 中有两个字段 ID.LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句 ...

  9. CF482C Game with Strings

    题意 你和你的朋友玩一个游戏,游戏规则如下. 你的朋友创造 n 个长度均为 m 的不相同的字符串,然后他随机地选择其中一个.他选择这些字符串的概率是相等的,也就是说,他选择 n 个字符串中的每一个的概 ...

  10. 二分图判定+点染色/并查集 BestCoder Round #48 ($) 1002 wyh2000 and pupil

    题目传送门 /* 二分图判定+点染色:因为有很多联通块,要对所有点二分图匹配,若不能,存在点是无法分配的,no 每一次二分图匹配时,将点多的集合加大最后第一个集合去 注意:n <= 1,no,两 ...