javascript之函数


学习要点:

  函数的介绍

  函数的参数

  函数的属性和方法

  系统函数

一、函数的介绍

  1.函数就是一段javascript代码。可以分为用户自定义函数和系统函数。

    如果一个函数是javascript内置的函数,就称为系统函数。如果函数是自己编写的函数,就是自定义函数。

  2.在javascript用function来定义一个函数。function 函数名(参数1,参数2,...){<语句块>  return 返回值} (PS:return语句可以省略)

  3.函数的嵌套定义,只能出现在函数中,不能出现在选择语句或循环语句中。

  4.除了使用function语句定义函数,还可以使用Function()构造函数来定义函数。语法代码如下:

  var 函数名=new Function(”参数1“,”参数2“,...,”函数体“);如:var mySum=new Function("x",”y","return x+y");

  ps:Function()构造函数和function语句定义函数的区别:

    Function()构造函数可以动态定义和编译函数,而function语句只能预编译函数。在每次调用Function()构造函数定义的函数时,javascript都要去编译一次该函数。因此,对于经常使用的函数,应避免使用Function()构造函数来定义函数。

  还可以在表达式中定义函数:var 函数名=function(参数1,参数2,...){函数体}; 如:var mySum=function(x,y){return x+y};

二、函数的参数

   1.传递的参数类型和函数中所需要的数据类型不符

function myFun(x,y)
{
var z=x*y;return z;
}
document.write(myFun(2,4)+"<br>");//
document.write(myFun(2,"s")+"<br>");//NaN

  2.传递的参数个数与函数定义的参数个数不匹配

  如果传递的参数个数小于函数定义的参数个数,会将多余的参数值设为undefined。如果传递的参数个数大于函数定义的参数个数,多余的参数将会被忽略掉。

  3.在javascript中,提供了一个arguments对象,该对象可以获取实际传递过来的参数,并将这些参数放在arguments[]数组中。

   argements对象除了可以判断实际传递的参数个数,还可以获取实际传递参数的值。

   ps:虽然arguments可以作为数组来使用,但是arguments并不是一个数组,而是一个对象。

三、函数的属性和方法

  函数也是一个对象,也拥有自己的属性和方法。

  1.length属性:获取函数定义参数个数。

   arguments对象拥有一个callee属性,该属性的作用是引用当前正在执行的函数。

     arguments.length(获取实际参数个数)    与   arguments.callee.length(获取函数定义个数)

  2.prototype属性:引用原型对象

function pen(color,price)
{
this.color=color;
this.price=price;
}
var pen1=new pen("红色",21);
pen.prototype.name="钢笔”;
document.write("笔的颜色是:“+pen1.color+"<br>"); //红色
document.write("笔的价格是:“+pen1.price+”<br>"); //
document.write("笔的名称是:“+pen1.namer+"<br>");//钢笔

四、系统函数

  1.编码函数escape():将字符串中的非文字、数字的字符如&、%、$转换成相应的ASCII码值。

  2.解编码函数unescape():将ASCII码的文字转换为一般文字。

  3.求值函数eval():将字符串指定为对象。

function pen(color,price)
{
this.color=color;
this.price=price;
}
var pen1=new pen("红色",21);
var pen2=new pen("蓝色",20);
var pen3=new pen("粉色",21);
for(i=1;i<4;i++){
var penx=eval("pen"+i);
document.write("笔的颜色是:“+penx.color+"<br>");
document.write("笔的价格是:“+pen1.price+”<br>");
}

  4.数值判断函数isNaN():判断变量是否为数值型变量。

  5.parseInt():将数据转换为整数。在将二进制、八进制、十六进制转化为十进制。其中,二、八、十六进制数据必须是字符串型。

  6.parseFloat():将字符串数据转换为浮点数。

  

  

  


javascript基础学习(五)的更多相关文章

  1. JavaScript基础学习(五)—其他引用类型

         JavaScript定义了两个内置对象: Global和Math. 一.Global对象 1.URI编码方法      Global对象的encodeURI()和encodeURICompo ...

  2. JavaScript 基础学习1-day14

    JavaScript 基础学习1 知识预览JavaScript概述二 JavaScript的基础三 JavaScript的对象BOM对象DOM对象实例练习js扩展 JavaScript概述 JavaS ...

  3. 48.javascript基础学习

    javascript基础学习:   http://www.w3school.com.cn/jsref/index.asp jS的引入方式: 1.行间事件:为某一个具体的元素标签赋予js内容,oncli ...

  4. JavaScript 基础学习(二)js 和 html 的结合方式

    第一种 使用一个标签 <script type="text/javascript"> js代码; </script> 第二种 使用 script 标签,引入 ...

  5. Python基础学习五

    Python基础学习五 迭代 for x in 变量: 其中变量可以是字符串.列表.字典.集合. 当迭代字典时,通过字典的内置函数value()可以迭代出值:通过字典的内置函数items()可以迭代出 ...

  6. JavaScript 基础 学习 (四)

    JavaScript 基础 学习 (四) 解绑事件 dom级 事件解绑 ​ 元素.on事件类型 = null ​ 因为赋值的关系,所以给事件赋值为 null 的时候 ​ 事件触发的时候,就没有事件处理 ...

  7. JavaScript 基础 学习(三)

    JavaScript 基础 学习(三) 事件三要素 ​ 1.事件源: 绑定在谁身上的事件(和谁约定好) ​ 2.事件类型: 绑定一个什么事件 ​ 3.事件处理函数: 当行为发生的时候,要执行哪一个函数 ...

  8. JavaScript 基础 学习 (二)

    JavaScript 基础 学习 节点属性 ​ 每一个节点都有自己的特点 ​ 这个节点属性就记录着属于自己节点的特点 1. nodeType(以一个数字来表示这个节点类型) ​ 语法:节点.nodeT ...

  9. JavaScript 基础 学习 (一)

    JavaScript 基础 学习 获取页面中的元素的方法 作用:通过各种方式获取页面中的元素 ​ 比如:id,类名,标签名,选择器 的方式来获取元素 ​ 伪数组: ​ 长的和数组差不多,也是按照索引排 ...

  10. 几张非常有意义的JavaScript基础学习思维图

    分享几张对于学习JavaScript基础知识非常有意义的图,无论你的JavaScript级别如何,“温故而知新”完全可以从这些图中得到. 推荐理由:归类非常好,非常全面 JavaScript 数组 J ...

随机推荐

  1. Light OJ 1037 - Agent 47(预处理状态压缩DP)

    题目大意: 有个特工要执行任务,他会遭遇到最多15个目标,特工必须把他们全部杀死.当他杀死一个目标后他可以使用目标的武器来杀死其他人.因此他必须有一个杀人的顺序,使得他开枪的次数最小. 现在给你一个表 ...

  2. Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍

    磁盘分区表.文件系统的查看.统计的工具很多,有些工具是多功能的,不仅仅是查看磁盘的分区表,而且也能进行磁盘分区的操作:但在本文,我们只讲磁盘分区的查看,以及分区的使用情况的查看:本文只是给新手上路之用 ...

  3. HDOJ/HDU 2700 Parity(奇偶判断~)

    Problem Description A bit string has odd parity if the number of 1's is odd. A bit string has even p ...

  4. socket programming Max size of tcp/ip socket Buffer?

    TCP data is buffered at both sender and receiver. The size of the receiver's socket receive buffer d ...

  5. 程序员取悦女朋友的正确姿势---Tips(iOS美容篇)

    前言 女孩子都喜欢用美图工具进行图片美容,近来无事时,特意为某人写了个自定义图片滤镜生成器,安装到手机即可完成自定义滤镜渲染照片.app独一无二,虽简亦繁. JH定律:魔镜:最漂亮的女人是你老婆魔镜: ...

  6. Linux命令 — 设置或查看网络配置命令ifconfig

    ifconfig命令用于设置或查看网络配置,包括IP地址.网络掩码.广播地址等.它是linux系统中,使用频率最高的关于网络方面的命令. 1. 命令介绍 命令格式: ifconfig [interfa ...

  7. 跨服务器修改数据 分类: SQL Server 2014-08-21 21:24 316人阅读 评论(0) 收藏

     说明: 两个服务器: 192.168.0.22   A 192.168.0.3     B 数据库备份在A上 数据库在B上 在A上写: exec sp_addlinkedserver   'ITSV ...

  8. 给考研计划报考“管理学科学与project”方向大学生的建议(大二阶段)

    [来信]丁老师: 你好.在做学习计划前能了解到PDCA循环,着实感到受益匪浅. 这一理念不仅适用于质量管理体系.也适用于一切循序渐进的管理工作. 了解PDCA循环后.对此次学习计划的制定起到一定的导向 ...

  9. 转换 TColor 到 HTML 颜色串

      //转换 TColor 到 HTML 颜色串 function ColorToHtml(color:TColor):string; var RgbColor : TColorRef; begin ...

  10. CMake 简单介绍 图

    http://tech.uc.cn/?p=914     CMake特点 CMake需要用户用CMake规范的语法编写CMake脚本,该语法简单易用,入门极其顺手 原生支持 C/C++/Fortran ...