欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaScript类型与函数解析

程序员文章站 2022-08-21 18:46:06
javascript类型与函数解析 快应用是基于nodejs开发的,因此我们必须掌握javascript这门语言,接下来的博客中,我们就重点学习nodejs必须掌握的javasc...

javascript类型与函数解析

快应用是基于nodejs开发的,因此我们必须掌握javascript这门语言,接下来的博客中,我们就重点学习nodejs必须掌握的javascript基础知识。

javascript基础

类型

javascript类型可以分为两种:基本类型和复杂类型。

基本类型:number、boolean、string、null、undefined。

复杂类型:array、function、object。

访问基本类型时访问的是值,而访问复杂类型访问的是对值的引用。举例:

//基本类型
var a = 1;
var b = a;
b = 2;
//输出a的值为1,b的值为2
//复杂类型
var a = {'mm' ,'nn'}; 
var b = a;
b[0] = 'pp';
//输出a[0]为pp,b[0]也为pp;

这个例子就说明复杂类型中把一个对象赋值给另一个对象,这两个对象指向的同一个地址,所以改动其中一个对象的值,另一个也会跟着改变。

注意:

因为javascript中变量的声明都是用var关键字,所以就不容易区分变量值的类型,这个时候就要用到typeof和instanceof两个关键字了。

typeof :可以获取一个变量的类型,返回值为变量类型。

instanceof :与java关键字instanceof一样,判断一个变量是哪种类型,返回值为boolean。

与java类似的是,javascript里面也有构造函数这一说法,比如string类型,下面就是创建字符串的两种方式:

var a = 'abc';
var b = new string('abc');
//这两个变量输出的都是 abc

但是,如果你对a和b使用typeof关键字,会发现a是string ,而b却是object,所以我们定义变量的时候尽量使用直观的方式来定义,尽量不使用new。

另外,在if判断中,除了false之外,null、undefined、' '、0这些都会被判断为false,比如:

var a = 0;
if(a){
    //不会执行
}

函数

与java中的函数很类似,但是javascript中函数是需要关键字 function,如下:

function funa(arg0, arg1, ... argn) {
    //函数体
}

注意:

1、函数参数不需要声明类型,只写形参的名称就可以了。

2、声明时不需要指定返回值类型,return可以有,也可以没有。

3、javascript中的函数没有重载的形式,后定义的函数会直接覆盖前面的函数。

4、一个函数可以接收任意个参数。

上面第三点举例:

function funa(){
    alert("11");
};
function funa('aa','bb'){
    alert("22");
};
调用funa(); 结果输出 11 。

总结

这里总结一下函数的特点:

1、使用function关键字定义函数。

2、没有任何的返回值类型。

3、函数的定义优先执行,与顺序无关。

4、可以通过函数名赋值函数,函数变量的类型是function对象。

5、参数列表不能有var关键字。

6、函数的参数列表在具体调用的时候实参个数可以和形参个数不同。

7、javascript函数天然的支持可变参数。

8、同名的函数最后声明会覆盖前面以声明。javascript中没有函数重载。