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

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

/未完待续 下期再会.

欢迎关注微信公众号【一文插画】,回复【资源】即可获得学习资料~ “领干货” 一起提升技能!未经授权,不得转载。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容