javascript教程 -常用js函数(1/2)

1. 当实际参数的个数与形式参数的个数不匹配时,不会导致错误。
如果实际参数值过多了,超出的参数值将被忽略;如果实际的参数值过少,缺失的值将被替换为undefined。

2. 在网页特效中一共有四种调用模式: 方法调用模式、函数调用模式、构造器调用模式和apply调用模式。这些模式在如何初始化关键参数this上存在差异。
a.方法调用模式:
当一个函数被保存为对象的一个属性时,我们称它为一个方法。方法调用模式可以使用this去访问对象,所以它能够从对象中取值或修改对象。
b.函数调用模式:
当一个函数并非一个对象的属性时,它被当作一个函数来调用。当函数以此模式调用时,this被绑定到全局变量,这是语言设计上的一个错误。(正确的情况:当内部函数被调用时,this应该仍然被绑定到外部函数的this变量。)解决方法:如果该方法定义一个变量并给他赋值为this,那么内部函数就可以通过那个变量访问到this,按照约定,给那个变量命名为 that:

//给 myobject增加一个double方法

myobject.double = function()
{
 var that = this; //解决方法

 var helper = function()
 {
  that.value = add(that.value, that.value);
 }

 helper(); //以函数的形式调用helper。
}

//以方法的形式调用double
myobject.double();

c.构造器调用模式:
在一个函数前面带上new来调用,那么将创建一个隐藏连接到该函数的prototype成员的新对象,同时this将会被绑定到那个新对象上

//创建一个名为quo的构造函数。它构造一个带有status属性的对象

var quo = function(string)
{
 this.status = string;
}

//给quo的所有实例提供一个名为get_status的公共方法
quo.prototype.get_status = function()
{
 return this.status;
}

//构造一个quo实例
var myquo = new quo("confused"); //构造器模式调用
document.writeln(myquo.get_status());

构造器函数保存在以大写格式命名的变量里。
d.apply调用模式:
apply方法接受两个参数,第一个是将被绑定给this的值,第二个就是参数数组。它让我们构建一个参数数组并用其去调用函数。

//构造一个quo实例
var myquo = new quo("confused"); //构造器模式调用
document.writeln(myquo.get_status());

//构建一个包含两个数字的数组,并将他们相加
add = function(a, b)
{
 return a+b;
}

var anarray = [3, 4];
var sum = add.apply(null, anarray);  //7

//构建一个包含status成员的对象
var statusobject = {
 status: "a-ok"
};

//statusobject并没有继承自quo.prototype,但我们可以再statusobject上调用
//get_status方法,尽管statusobject并没有一个名为get_status的方法。
var status = quo.prototype.get_status.apply(statusobject);

3. 参数:
当一个函数被调用时,会有一个默认的参数,就是 arguments “数组”。

//构造一个将很多值相加的函数

//注意该函数内部定义的变量sum不会与函数外部定义的sum产生冲突。
//该函数只能看到内部的那个变量。

var sum = function()
{
 var i, sum=0;
 for(i = 0; i < arguments.length; i+=1)
 {
  sum += arguments[i];
 }
 return sum;
};

document.writeln(sum(4, 8, 15, 16, 23, 42)); //108

注:arguments并不是一个真正的数组。它知识一个“类似数组”的对象。arguments用友一个length属性,但它缺少所有的数组方法。

4. 返回:
一个函数总是会返回一个值。如果没有置顶返回值,则返回undefined。
如果函数以构造器方式被调用,且返回值不是一个对象,则返回this(该新对象)。

首页 1 2 末页

时间: 2024-11-08 21:29:35

javascript教程 -常用js函数(1/2)的相关文章

详解JavaScript中常用的函数类型_javascript技巧

网页中的java代码需要写在JavaScript中,里面部分少不了函数,介绍一下JavaScript中常用的函数类型.1.可变函数 <script> function show(){ alert("第一个..."); } function show(str){ alert("第二个"); } function show(a,b){ alert("第三个..."); alert(a+":"+b); } </sc

javascript数组常用操作函数

网页特效数组常用操作函数 1. 数组length属性的值是这个数组的最大整数属性名加上1.它不一定等于数组里属性的个数: 1 var myarray = [];  2 alert(myarray.length); // 0  3    4 myarray[1000000] = true;  5 alert(myarray.length); //1000001 2. 在数组尾部添加一个新元素: 1 var numbers = ['zero', 'one', 'two'];  2 numbers[n

JavaScript教程:编写匿名函数的几种方法

匿名函数可以有效控制变量作用域,构造闭包 (Closure),防止对全局变量造成污染.在 JavaScript 中,编写匿名函数,有以下几种方法: 错误模式:语法错误警告 function(){ // insert code here }(); 模式一:函数字面量 (Function Literal) 先声明函数对象,然后执行. (function(){ // insert code here })(); 模式二:优先表达式 (Prior Expression) 由于 JavaScript 按照

JavaScript字符串常用操作函数之学习笔记

字符串简介 使用英文单引号或双引号括起来,如:'Hello',"World",但是不能首尾的单引号和双引号必须一致,交错使用,如果要打印单引号或者双引号,可以使用转义字符\'(单引号),\"(双引号)  代码如下 复制代码 var str_1 = 'Hello World!';  //Hello World! var str_2 = "Hello World!";  //Hello World! var str_3 = '他说:"这样可以的.&q

推荐4个原生javascript常用的函数

 这篇文章主要介绍了推荐4个原生javascript常用的函数,需要的朋友可以参考下     [一]添加监听事件   代码如下: addHandler:function(node,type,fn){if(node.addEventListener){ node.addEventListener(type,fn,false); // false,设置为冒泡事件 } else{ node.attachEvent('on'+type,function(){ fn.apply(node,argument

js常用系统函数用法实例分析

 这篇文章主要介绍了js常用系统函数用法,实例分析了escape.parseInt.parseFloat.isNaN.isFinite等函数的用法,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了js常用系统函数用法.分享给大家供大家参考. 具体代码如下: 代码如下: <html> <head> </head> <body> <script type="text/javascript"> //1. escap

js常用系统函数用法实例分析_javascript技巧

本文实例讲述了js常用系统函数用法.分享给大家供大家参考. 具体代码如下: 复制代码 代码如下: <html> <head> </head> <body> <script type="text/javascript"> //1. escape()函数,把字符串转成各计算机平台通用的unicode编码:解码(转回去)则用enescape(). var str = '王美人'; document.write(escape(str)

网页中JS函数自动执行常用三种方法_javascript技巧

本文为大家分享了在网页中JS函数自动执行常用方法,供大家参考,具体内容如下 一.JS方法 1.最简单的调用方式,直接写到html的body标签里面: <body onload="myfunction()"> <html> <body onload="func1();func2();func3();"> </body> </html> 2.在JS语句调用: <script type="text

javascript中的eval函数 教程

(1)介绍javascript教程中的eval函数的用法 (2)如何在函数内执行全局代码 ?先来说eval的用法,内容比较简单,熟悉的可以跳过. eval函数接收一个参数s,如果s不是字符串,则直接返回s.否则执行s语句.如果s语句执行结果是一个值,则返回此值,否则返回undefined. 需要特别注意的是对象声明语法"{}"并不能返回一个值,需要用括号括起来才会返回值,简单示例如下: var code1='"a" + 2';    //表达式 var code2=