javaScript 基础入门(三)

上一篇笔记里,我主要写了javascript的数据类型之间的转换,操作符(算数运算,模运算,递增/递减运算,关系运算,逻辑运算,位移,赋值运算,三目运算)等。

这一期分享javascript的重点,函数、作用域和程序结构,笔记内容都是精华一定要收藏

函数

函数概述

函数:封装一项专门任务的步骤清单的代码段, 并起一个名字

何时定义方法?只要发现一段代码重复使用,就封装为方法

语法:

调用:方法名(参数列表)

参数:

方法内独有的变量。接收传入数据,在方法内处理。

参数让方法变灵活!

方法参数和外部定义了哪些变量没有任何关系。

参数何时被创建?只有方法被调用时才自动创建。

返回值:

方法执行后,由方法返回的一个数据。

定义返回值:不用再声明变量,直接用return 值!

为什么定义返回值:因为调用方法的人需要明确的返回结果。返回值主要给调用者使用。

return:

本意退出方法!退出同时,可返回数据!

可以在任何需要的地方,调用方法执行;

带返回值的方法,使用时,等效于直接使用返回值数据

备注说明

方法返回值:根据方法调用者的需要!如果方法调用者需要明确返回一个结果,就定义返回值!否则,可以不定义返回值!

有返回值的方法,可以当做1个值用!

何时必须用变量接住?方法的返回值,后续程序可能反复使用!

例子:

经典题:定义一个可以接收3个参数的方法,该方法返回这3个数中最大值;调用此方法。

作用域

作用域:一个变量的可用范围!

全局作用域:直接声明在全局作用域中的变量,叫全局变量

(今后只要希望所有作用域共用的变量都要声明在全局作用域)

window对象:是整个网页的全局

局部(函数)作用域:声明在方法内部的变量或方法的参数变量

值传递:将一个变量的值赋值给另一个变量,其实将原变量中的值,复制一份给新变量。js中一切赋值都是值传递!

对未声明的变量赋值:js会自动在全局创建该变量!

函数作用域变量作用域完全一样!

函数作用域在调用方法时创建,方法执行完立刻销毁!

练习题:

全局函数

encodeURI() 函数和decodeURI() 函数

encodeURI:将url中的非法字符转为单字节符号——编码

decodeURI:将encodeURI转后的字符串,转换回原文——解码

unicode编码:每个字符2字节

utf-8编码:字母、数字单字节 汉字3字节

例子1:编码

例子2:解码

encodeURIComponent() 函数

decodeURIComponent() 函数

encodeURIComponent:函数可把字符串作为 URI 组件进行编码,既能对多字节非法字符编码,又能对单字节非法字符编码——今后只要使用encodeURIComponent()就够了

decodeURIComponent:可对 encodeURIComponent() 函数编码的 URI 进行解码。收到编码后的字符串后,都要先解码,再处理。

例子:

程序结构

程序结构:2种

分支

循环

分支结构

概念:程序运行过程中,可以根据不同的条件,执行不同的任务。

分支结构:

if...结构:1件事,要么做,要么不做

if...else...结构:2件事,二选一执行

else if结构:多件事,多选一执行

语法:

如果前一个条件己经满足,则后续else if不再执行!

注意:

分支结构中的条件,可以不是逻辑表达式!如果不是,js会自动转换为Boolean类型:

0, null, undefined, NaN, "", 0.0 都转为false

其余,都转为true!

例子:else if 的用法。查询成绩的级别

switch...case...语句:多条分支,根据条件判断,选择执行

语法:

运行机制:如果找到与表达式值匹配的case,不但执行当前case下的代码,而且之后所有代码都被触发!

break:退出当前结构;

多个条件共用同一套执行逻辑时,不加break!

注意:

switch ...case中,表达式属于===严格相等

例子:

循环结构

概念:

程序反复执行同一段代码段。遇到结束条件,会结束执行。

没有循环结束条件,永远循环执行——死循环

循环三要素:

循环条件循环继续执行的条件。一旦循环条件不满足,循环立刻退出!

循环变量用于循环条件中做判断的变量。循环变量都会向循环退出的趋势变化(不满足循环条件的趋势)——循环计数器

循环体每次循环要做的事情

while循环:当满足条件时,就继续循环做...事

语法:

break:退出当前结构

while中何时用break:循环条件不满足之前,希望强行退出循环。

如何使用break?可以放在任何需要退出循环的位置。

干货小知识:

随机数:Math.random():0

任意min--max之间取随机数

公式:parseInt(Math.random()*(max-min+1)+min)

例如:求0-10之间数

0

0

/未完待续 下期再会.

前端体系

大家想要什么资源/教程,或者学习上遇到问题都可以后台留言给小编哦~看到会及时给大家回复~

觉得本文对你有帮助,可以分享给更多人

关注【前端体系】,一起提升技能!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180425G0B47200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券