在上次的学习当中,我已经对JavaScript有了一定基础上的理解,比如:JavaScript的发展史,JavaScript中变量的命名,各种运算符,以及数据的类型与它们之间的转化。还有就是一些最基本的语句,if-else, switch-case,for循环,while循环,以及它们之间的嵌套关系。这些语句中的嵌套关系需要很明确的了解,因为在正真开发当中很少能够只用一种语句就能完成编译的。此外,当嵌套关系很多很复杂时,要当心发生混乱,只要有一个大括号书写位置错误,就可能导致全盘皆输的现象,还有可能会发生死循环,所以在嵌套过程中,我们的思路一定要保持清晰。一层层嵌套要写的清清楚楚,如果连我们自己都被自己的代码给干翻了,以后写完程序给领导看不被喷成哈士奇吗?因此我们在现阶段就要养成对齐格式的习惯,如果使用webstorm编程的话,可以使用Ctrl+alt+L来自动对齐格式。此外,我们在上次的博客中最后有所提及数组及函数,这次我将继续上次的内容,来深入了解数组及函数,将理论上一套套的大道理付之于实际行动。在当上领导之前,这种理论上的东西你会讲再多也没用,只有拿出正真的项目才能信服别人。低调做人高调做事。

1.函数的四种形式

所有函数都可分为无参无返回值的函数(用处比较多) ,无参有返回值的函数,有参无返回值的函数,有参有返回值(实际用处最多)这四种。

2.函数的重载

所谓的重载就是函数名相同,但是函数的形参个数不同,或者形参的数据类型不同,这样就构成了函数的重载。 在我们JavaScript中并没有函数重载这一说,如果有重名的函数,那么后面的函数会讲前面的函数覆盖。

在JavaScript中作用域大致分为两种,全局作用域与局部作用域。

3.全局作用域与局部作用域

一个函数就是一个局部作用域,局部作用域 内的变量称为局部变量。

同一个页面中的script标签之间的区域叫做全局作用域。

而全局作用域内的变量是在任何地方都可以访问到的,称为全局变量。

在全局作用域内定义的变量是全局变量,可以在页面的任何地方访问的到(包括函数内部)。

在函数内部不使用var定义的变量,也是全局变量。

var fun = function(a,b){
    return a-b;
};

像赋值运算符后面的这种没有名字的函数叫做匿名函数。一般多用于绑定事件的时候。匿名函数也就是用函数表达式的方式来定义一个函数。

回调函数:就是将函数做为参数进行传递

4.函数的声明方式与函数表达式的区别

  1. 函数的声明中的函数有名字
  2. 函数表达式中的函数没有名字,是匿名函数,前面的变量的名字可以看做是函数的名字
  3. 在函数预解析的时候,会先将函数声明提前到作用域的最前面,而函数表达式不会提升
  4. 函数声明中的函数,可以在声明之前调用,但是函数表达式的函数必须在函数表达式之后调用。

而在我们JavaScript中,在程序真正执行之前,会先将所有的代码扫描一遍,将变量的声明,函数的声明,参数的提升到当前作用域的最前面。这叫做函数的预解析。

5. 自执行函数

自执行函数是一种没有名字的,定义了之后马上调用的函数,而且这种函数一般来说都只能调用一次。

作用:自执行函数没有名字,因此在很多时候可以避免在一些大项目中函数名重复的问题。

Js中的数据类型分为两种,简单数据类型:number,string,boolean,null,undefined

复杂数据类型:对象  Date,Array,function。

6. 函数的内置对象

函数的内置对象表示系统已经帮我们定义好了的对象。

如:Math对象,是系统将与数学运算的封装到一个单独的对象当中了。

方法和函数其实是一回事,只不过函数在对象当中或是通过对象.的方式来调用,我们称为方法。

6.1Math对象

 

6.2Date对象

6.3Array对象

7. 清空数组的三种方式

从零基础入门JavaScript(2)的更多相关文章

  1. 从零基础入门JavaScript(1)

    从零基础入门JavaScript(1) 1.1  Javascript的简史 1995年的时候   由网景公司开发的,当时的名字叫livescript    为了推广自己的livescript,搭了j ...

  2. 【JAVA零基础入门系列】Day6 Java字符串

    字符串,是我们最常用的类型,每个用双引号来表示的串都是一个字符串.Java中的字符串是一个预定义的类,跟C++ 一样叫String,而不是Char数组.至于什么叫做类,暂时不做过多介绍,在之后的篇章中 ...

  3. 零基础入门微信小程序开发

    注:本文来源于:<零基础入门微信小程序开发> 课程介绍 本达人课是一个系列入门教程,目标是从 0 开始带领读者上手实战,课程以微信小程序的核心概念作为主线,介绍配置文件.页面样式文件.Ja ...

  4. 函数:我的地盘听我的 - 零基础入门学习Python019

    函数:我的地盘听我的 让编程改变世界 Change the world by program 函数与过程 在小甲鱼另一个实践性超强的编程视频教学<零基础入门学习Delphi>中,我们谈到了 ...

  5. Cloudera Manager、CDH零基础入门、线路指导 http://www.aboutyun.com/thread-9219-1-1.html (出处: about云开发)

    Cloudera Manager.CDH零基础入门.线路指导http://www.aboutyun.com/thread-9219-1-1.html(出处: about云开发) 问题导读:1.什么是c ...

  6. 【JAVA零基础入门系列】Day2 Java集成开发环境IDEA

    开发环境搭建好之后,还需要一个集成开发环境也就是IDE来进行编程.这里推荐的IDE是IDEA,那个老掉牙的Eclipse还是先放一边吧,(手动滑稽). IDEA的下载地址:http://www.jet ...

  7. 【JAVA零基础入门系列】Day4 变量与常量

    这一篇主要讲解Java中的变量,什么是变量,变量的作用以及如何声明,使用变量. 那么什么是变量?对于初学者而言,可以将变量理解为盒子,这些盒子可以用来存放数据,不同类型的数据需要放在对应类型的盒子里. ...

  8. 【JAVA零基础入门系列】Day5 Java中的运算符

    运算符,顾名思义就是用于运算的符号,比如最简单的+-*/,这些运算符可以用来进行数学运算,举个最简单的栗子: 已知长方形的长为3cm,高为4cm,求长方形的面积. 好,我们先新建一个项目,命名为Rec ...

  9. 【JAVA零基础入门系列】Day8 Java的控制流程

    什么是控制流程?简单来说就是控制程序运行逻辑的,因为程序一般而言不会直接一步运行到底,而是需要加上一些判断,一些循环等等.举个栗子,就好比你准备出门买个苹果,把这个过程当成程序的话,可能需要先判断一下 ...

随机推荐

  1. 我的vimrc配置

    fankcoder@fankcoder:~$ cat ~/.vimrclet Tlist_Auto_Highlight_Tag=1 let Tlist_Auto_Open=1 let Tlist_Au ...

  2. C#委托基础

    转载自 http://woshixy.blog.51cto.com/5637578/1070976     C#委托基础1——委托基础   委托和其委托的方法必须具有相同的签名.签名相同:1.参数类型 ...

  3. svn , github工作流

    svn 需要有一台中央服务器,所有的分支,主干,标签,全都保存在这台中央服务器上.开发着需要提交代码时,需要保持中央服务器连接.切换分支时会有本地与服务器网络连接. git 改进了这一点,每台安装有g ...

  4. 谈谈依赖注入DI

    控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心. 控制反转一般分为两种类型,依赖注入 ...

  5. 基于MINA框架快速开发网络应用程序

    1.MINA框架简介 MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架.通过使用M ...

  6. linux下文件编码的查看与转换(转)

    通常来说,Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8,所以Linux下打开windows的文件会有乱码的情况.另外,有时要将文件进行编码转换,如将简体中文转 ...

  7. 项目mysql数据导入数据的Java程序

    最近写的一个数据库导入数据的程序,有兴趣的同学可以参考一下: 这个程序是针对mysql数据库的,在本地或服务器上运行,主要的需求还是,针对项目的某些bug修复 后,客户的数据要搬到新表上来,避免新版本 ...

  8. 【HDOJ】1244 Max Sum Plus Plus Plus

    这题目一直wa,原来是因为我把JUDGE写错了,对拍了一下午都没检查出来.水DP啊. #include <cstdio> #include <cstring> #include ...

  9. TRAFFIC LIGHTS POJ 1158

    题目大意: 在Dingilville 城市安排是一种不同寻常的方式,每个交叉路口有一条道路连接,一条道路最多连接两个不同的交叉路口.每个交叉路口不能连接他自己.道路旅行一端到另一端的时间是相同的,任何 ...

  10. 安装SQL SERVER2005时,需要win7下安装IIS,记录下

    安装SQL server2005 时,需要先安装IIS,这里描述win7系统下配置IIS的方法. 虽然很多文章都有写过,这里只是重复一下 关键是IIS组件全都勾选上,如果没有全部勾选上,IIS组件没有 ...