美文网首页让前端飞我爱编程Web前端之路
【笔记】javaScript 基础入门(三)

【笔记】javaScript 基础入门(三)

作者: 一文插画 | 来源:发表于2018-04-25 10:07 被阅读40次

    上一篇笔记《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<=n<1

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

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

    例如:求0-10之间数 

          0<=n<1

          0<=n*11<11

          0<=parseInt(n*11)<11

    /未完待续 下期再会.

    作者:小精灵

    原文链接: https://mp.weixin.qq.com/s/ay0SH7_KDofg9oaac3q6jw

    欢迎关注本人微信公众号前端体系】, 回复【礼物】即可获得“微信小程序”学习资料~ “领干货” 一起提升技能!

    未经授权,不得转载。

    相关文章

      网友评论

        本文标题:【笔记】javaScript 基础入门(三)

        本文链接:https://www.haomeiwen.com/subject/lcselftx.html