JavaScript知识架构学习路径(一)- 变量篇

【摘要】本文是专为JavaScript入门者而总结的,总体上将JavaScript的基础部分分成了九大块,分别是变量、运算符、数组、流程控制结构、字符串函数、函数基础、DOM操作基础、文档对象模型DOM和正则表达式。

【关键字】变量、运算符、数组、流程控制结构、函数、DOM、正则表达式。

本篇文章的主要内容是围绕着JavaScript(以后简称JS)的基础进行归纳与总结的,一方面可以给入门级的JS爱好者提供一个学习的路径,另一方面,也可以给稍有基础的JS学习者进行知识梳理用。

作为网页设计三层分离结构中的第三部分,JS的作用与地位毋庸置疑,然而,想系统化掌握JS的基础,为后续的高阶学习做好铺垫,还必须要对JS的基本内容有清晰的认识,所以,在此将JS的基础部分分为九大模块来进行归纳。

一、JS变量

对于变量而言,我们主要要从四个方面来掌握,具体包括命名、声明、类型和作用域,这四个方面在其他的编程语言中也一样存在,下面我们就具体来分别归纳:

1、命名

在变量的命名方面,我们需要了解命名的方法和命名的规则。i

(1)命名的方法

命名的方法在实际的项目中,我们通常会有两大类,一类是匈牙利命名法,这种命名法的写法是:变量名=类型+对象描述,例如我们要命名一个表单变量时,我们首先知道,该变量的类型是表单(form),同时,我们要知道这个表单的功能或含义,比如说这个表单是一个Switchboard,所以此时,我们对这个表单变量的命名应该为frmSwitchboard,这样,其他人在阅读你的代码时,就很容易理解了,当看到frm的时候,就知道你这个变量是一个表单变量了。

除了匈牙利命名法之外,另一类是驼峰命名法,这也是当前大多数项目中经常使用的命名方法,而驼峰命名法又分为大小写。如果全部是小写的命名,那么每两个单词之间是使用一个下划线“_”来连接的,例如:frm_switch_board;如果命名中大小写同时存在,此时,又将其分为大驼峰和小驼峰。大驼峰的命名是每个单词的首字母都是大写字母,例如:FrmSwitchBoard;而小驼峰的命名是第一个单词的首字母要小写,其后的单词的首字母都要大写,例如:frmSwitchBoard。

以上就是变量的命名方法,当前,国内主要采用的命名方法是小驼峰命名法。那么,我们在了解命名方法的同时,我们还必须同时掌握类型的问题,在JS中,类型主要有以下几种:

<1>Int类型 — i

<2>Float类型 — fl

<3>Boolean类型 — b

<4>String类型 — s

<5>Array数组 — a

<6>Object对象 — o

<7>Function函数 — fn

<8>Regular Expression正则 — re

我们在了解了类型之后,接下来我们再来看看变量命名的规则问题。

(2)命名的规则

我们之所以要了解变量的命名规则,目的是为了让我们命名的变量合法,也就是说可以正常使用。

在JS中,变量命名的规则一般需要遵循以下三条:

<1>变量名的首字符只能是英文字母或者下划线;

<2>变量名可以由英文字符、数字和下划线组成,不能包含其他的特殊字符,如@、!等字符;

<3>变量名不能是JS中的关键字或保留字。

2、声明

我们在完全理解并掌握了变量的命名之后,接下来我们来看看变量的声明问题。对于变量的声明,我们也需要把握好以下三个原则:

(1)JS中的变量通常是显式声明,例如:var 变量名;

(2)在声明变量时,我们切忌出现几个问题。其一,声明的变量没有数据类型;其二,重复声明变量;其三,隐式声明变量;其四,不声明而直接赋值。

而解决此类问题的一个最简单的办法就是先写变量声明符var,紧接着就写变量名,最后再直接给变量赋初值,例如:“var  i = 0;”  ;

(3)我们在声明变量时还需要养成一个好习惯,简单概括就十二个字:先声明、后读写、先赋值、后运算。

3、类型

对于变量而言,它其实可以分为两大类,一类是值类型,另一类是引用类型。

(1)值类型

对于值类型的变量,它具备以下几个特征:

<1>占用的存储空间是固定的;

<2>在保存与复制的时候,操作的是值本身;

<3>可以使用JS中的类型检测函数typeof()来检测其具体的类型;

(2)引用类型

而引用类型的变量,它也具备几个特征:

<1>变量占用的存储空间不是固定的;

<2>在保存与复制的时候,操作的是指向该变量的一个指针;

<3>可以通过instanceof()函数来检测其数据类型

同时,我们还需要了解的一个问题,那就是使用new()方法构造出的对象是属于引用类型的变量。

4、作用域

我们在了解了变量的命名、声明和类型之后,我们最后再来看看,在实际的项目中,我们所使用的变量的另外一个比较关键的问题,那就是变量的作用域。在此,我们首先根据变量的作用域,将变量划分为三级,具体是全局变量、局部变量和参数变量。

对于上述三级变量,我们分别从写法到调用,再到优先级最后再到特性等三个层次来总结。

(1)写法与调用

对于全局变量,它的写法要求我们在声明此变量的时候,要放在函数体的外部来进行声明,而调用的时候,可以在项目的任何位置进行;对于局部变量,它的写法要求我们必须在函数体的内部进行声明,而调用时,只能在函数体内部调用;再者,对于参数变量,它也是要求在函数声明的时候同时声明,而调用时,也必须出现在函数体的内部。

(2)优先级

在优先级方面,有三个参考的规则:

<1>同名的局部变量的优先级要高于全局变量;

<2>同名的参数变量的优先级也是高于全局变量;

<3>同名的局部变量的优先级高于参数变量。

(3)特性

对于变量的作用域,有以下一些特点:

<1>全局变量可以看作是全局对象的属性,而局部变量可以看作是调用对象的属性;

<2>内层函数可以访问外层函数的局部变量,但外层函数不能访问内层函数的局部变量;

<3>在变量的生命周期方面,全局变量除非被删除,否则将一直存在,局部变量则存活于自声明起到函数运行结束或者被删除之前。

以上内容就是我们在学习JavaScript时,对于变量方面需要掌握的知识点,希望能给大家带来参考。

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

推荐阅读更多精彩内容

  • JavaScript是什么? JS是一种小型的、轻量级的、面向对象的、跨平台的客户端脚本语言。JS是嵌入到浏览器软...
    钩不了沉阅读 1,881评论 0 6
  • 落花 夕阳的河岸上, 生长着一丛花, ——夕阳如血 如血年华—— 颤抖在风中, 不断剥落着岁月 烂漫 是昨天的回忆...
    鹭千羽阅读 308评论 0 1
  • 姓名:吴龙飞 公司:杭州简品食品股份有限公司 组别:利他一组 【日精进打卡...
    加了冰的咖啡阅读 148评论 0 0