JavaScript函数对象和数组

Posted 佳星辰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript函数对象和数组相关的知识,希望对你有一定的参考价值。

一、javascript函数

1.定义函数:函数的通用语法如下

function function_name([parameter [, ...]])
{
    statements;
}
  • 由关键字function开始函数的定义
  • 接着是函数名,它必须由字母或下划线开始,后面可以是一串字母、数字、$符号或下划线
  • 必须带有括号,括号里的参数是可选的,多个参数用逗号(,)隔开
  • 封闭的大括号中书写函数代码

2.参数数组(arguments):参数数组可以使得在处理多个参数的变量时更灵活。

function displayItems()
{
    for(j = 0; j < displayItems.arguments.length; ++j)
        document.write(displayItems.arguments[j] + "<br />")
}

3.函数返回值:使用return语句返回函数结果。

document.write(fixNames("the","DALLAS","CowBoys"))
function fixNames()
{
    var s = ""
    for (var i = 0; i < fixNames.arguments.length; ++i) 
    {
        s += fixNames.arguments[i].charAt(0).toUpperCase() +
        fixNames.arguments[i].substr(1).toLowerCase() + " "

    }
    return s.substr(0,s.length-1)
}

上面的代码将输入的字符的首字变为大写,其余字母为小写,并将字符拼接后返回。

如果我们并不想将字符拼接起来,而是返回分离的单个字符,可以使函数返回一个数组:

words = fixNames("the","DALLAS","CowBoys")

for(j = 0; j < words.length; ++j)
document.write(words[j] + "<br />")

function fixNames()
{
  var s = new Array()
  for(j = 0; j < fixNames.arguments.length; ++j)
      s[j] = fixNames.arguments[j].charAt(0).toUpperCase() +
      fixNames.arguments[j].substr(1).toLowerCase()
  return s
}

二、JavaScript对象

1.与其他面向对象的编程语言有一点不一样,JavaScript是基于原型的面向对象的语言,不是严格的面向对象的语言,而是基于对象的语言。JavaScript中没有传统意义上的类去实例化对象 ,但是为了理解方便,我们可以引入概念上的类。对象可以通过一个叫做构造函数的特殊函数来生成的,我们也可以把这个过程看成是类的声明。下面我们来看看一个具体实例:User类的构造方法。

function User(forename,username,password)
{
    this.forename = forename
    this.username = username
    this.password = password

    this.showUser = function()
    {
        document.write("ForeName: " + this.forename + "<br />")
        document.write("UserName: " + this.Username + "<br />")
        document.write("Password: " + this.password + "<br />")
    }
}

该函数与一般的函数有两点不同:

  1. 它引用一个名为this的对象,当程序通过运行这个函数创建一个User实例时,this引用被创建的实例。
  2. 在函数内创建一个名为showUser的新函数

我们可以把这个函数看成一个类:USer类

2.创建对象:使用new关键字创建对象

//直接使用new关键字创建对象
detail = new User("Wolfgang","w.a.mozart","composer")

//或者创建空的对象,然后再赋值
detail = new User()
detail.forename = "Wolfgang"
detail.username = "w.a.mozart"
detail.password = "composer"

//此外,可以为创建好的对象添加新的属性
detail.greeting = "Hello"

3.访问对象:JavaScript也使用句号(.)来访问一个对象的属性和方法,

4.prototype(原型)关键字:使用prototype定义的属性和方法,类似C++中的静态属性和静态方法。所有由这个实例化的

以上是关于JavaScript函数对象和数组的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript单行代码,也就是代码片段

如何将此 JavaScript 代码片段翻译成 Parenscript?

常用Javascript代码片段集锦

几个关于js数组方法reduce的经典片段

36个工作中常用的JavaScript函数片段

web代码片段