javascript中在定义函数的几种形式
内容主要是讲述javascript在类(原型对象)中定义方法的几种形式,简要之主要有三种:this关键字、prototype关键字、var 对象名={name:value,name2:value2};这三种形式。
在publicFunction.js文件中定义js函数。在call.html文件中调用函数。
各个文件的位置如下图所示:

publicFunction.js文件中的代码如下:
/**
* javascript中如何在类(在javascript中类也叫原型对象。)中定义公共的方法呢?
* 有三种方式:
* 第一种用:this关键字。
* 第二种用:prototype
* 第三种用js专有的定义属性和方法的形式:var 对象名={name:value,name2,value2,name3:value3,....};
* 顺便说一下,定义私有方法和私有变量:直接在类中写var=....即可,详细情况看下面代码即可。
*/
//首先是第一种方法:this关键字。
//定义Dog这个类
function Dog() {
var sixi="village"//定义一个私有变量
//定义一个私有的函数:
function show() {
alert("ouyangfeng");
}
this.mountain="fragantMountain";//定义一个公共变量
//定义一个公共方法name()这是用this关键字定义的。
this.name=function(petname) {
document.writeln(petname);
show();//在公共函数内调用私有方法。
}
}
//用prototype定义一个公共的方法
Dog.prototype.master=function(masterName) {
window.alert("the dog's master is :"+masterName);
}
//用js特有的定义公共方法和属性的方式:
var dog={name:"小花",//定义变量name="小花"。相当于this定义中的this.name="小花"。
//定义一个chief()这个公共函数。
chief:function() {
document.writeln("ouyangfeng is a chief village of sixi");
},
//定义一个rapeFlower这个公共函数:
rapeFlower:function() {
document.writeln("the rape flower is so beautiful ,I have never seen");
}
};
call.html文件中的代码如下:
<html>
<head>
<!-- 把 publicFunction.js这个文件导入进来,相当于java中的import
特别说明一下src的路径我直接写为publicFunction.js,是因为这个call.html文件与它在同一目录下。
如果不是在同一目录下,可以用相对路径写。
在相对路径中:
/ 代表本级目录
../代表上一级目录
../../代表上上一级目录。那么上上上级目录可以以此类推。
-->
<script type="text/javascript" src="publicFunction.js"></script>
<script type="text/javascript">
<!--
//下面是调用publicFunction.js这个文件中的方法和变量。
//创建一个Dog类的实例。
var d=new Dog();
var m=d.mountain;//调用Dog类中的Mountain公共变量:
document.writeln(m);//输出这个变量。
d.master("ouyangfeng");//调用master这个方法。
d.name("leopard");//调用name()这个方法。
/**
调用publicFunction.js文件中的这个公共方法:var dog={};
*/
var na=dog.name;//调用name这个变量。
document.writeln(na);//输出这个变量。
dog.rapeFlower();//调用rapeFlower这个方法
dog.chief();//调用chief这个方法。
//-->
</script>
</head>
</html>
javascript中在定义函数的几种形式的更多相关文章
- JavaScript 中,定义函数时用 var foo = function () {} 和 function foo() {}有什么区别?
对于新手来说(本人也是新手-_-!),好像var foo = function () {} 和 function foo(){}并没有什么区别,意识里可能就认为就是两种不同的写法而已.但是,通过网上查 ...
- 前端学习 第二弹: JavaScript中的一些函数与对象(1)
前端学习 第二弹: JavaScript中的一些函数与对象(1) 1.apply与call函数 每个函数都包含两个非继承而来的方法:apply()和call(). 他们的用途相同,都是在特定的作用域中 ...
- 理解和使用 JavaScript 中的回调函数
理解和使用 JavaScript 中的回调函数 标签: 回调函数指针js 2014-11-25 01:20 11506人阅读 评论(4) 收藏 举报 分类: JavaScript(4) 目录( ...
- JS定义函数的2种方式以及区别简述(为什么推荐第二种方式)
无意中看到了阮一峰大神多年前的一篇博客: 12种不宜使用的Javascript语法 看到第9条的时候受到了启发,感觉之前没怎么理解清楚的一些问题好像突然就清晰了,如下图 可能光这样看,有些小伙 ...
- 理解javascript中的回调函数(callback)【转】
在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String.Array.Number.Object类的对象一样用于内置对象的管理.因为function实 ...
- JavaScript 中的回调函数
原文:http://javascriptissexy.com/ 翻译:http://blog.csdn.net/luoweifu/article/details/41466537 [建议阅读原文,以下 ...
- [转]JavaScript中的匿名函数及函数的闭包
JavaScript中的匿名函数及函数的闭包 原文地址:http://www.cnblogs.com/wl0000-03/p/6050108.html 1.匿名函数 函数是JavaScript中最灵 ...
- JavaScript中的匿名函数及函数的闭包(转)
JavaScript中的匿名函数及函数的闭包 https://www.cnblogs.com/wl0000-03/p/6050108.html 1.匿名函数 函数是JavaScript中最灵活的一种 ...
- JavaScript中的普通函数和箭头函数
最近被问到了一个问题: javaScript 中的箭头函数 ( => ) 和普通函数 ( function ) 有什么区别? 我当时想的就是:这个问题很简单啊~(flag),然后做出了错误的回答 ...
随机推荐
- Navicat-12.0.26的激活
1.卸载掉早期版本,卸载干净,然后安装最新版Navicat(使用群文件中Iobit uninstaller8卸载) 2.安装完成后将破解补丁复制到安装目录下,运行破解补丁. 4.先patch,然后选择 ...
- Java数据处理
对于形如“(TYPE=SITA##)&&(((CTYP=FPL##)||(CTYP=CHG##)||(CTYP=CNL##)||(CTYP=DLA##)||(CTYP=DL##)||( ...
- 使用cookie登陆知乎
只是想说明一个问题,Cookie可以维持登录状态,有些网页当中,访问之后的cookie里面带有登陆账号,和登陆密码,这样可以使用cookie直接访问网页,如知乎,首先登录知乎,将Headers中的Co ...
- python 函数复习
# 函数 # 可读性强 复用性强 # def 函数名(): # 函数体 #return 返回值 # 所有的函数 只定义不调用就一定不执行 #先定义后调用 #函数名() #不接收返回值 #返回值 = 函 ...
- C语言基础篇(一)关键字
导航: 1. 数据类型 !!! 2. 自定义类型 !!!! 3. 逻辑结构 4. 类型修饰符 !! 5. 杂项 !! ----->x<------------->x<----- ...
- c++右值引用
右值 右值是相对与左值来说的. 左值是以变量的形式存在,指向一个指定的内存,可以对它取地址.右值就是不指向任何地方,它是暂时和短命的,不能对它取地址. 右值引用 把临时的.生命周期短的值,绑定到一个变 ...
- kafka生产者与消费者的生产消息与消费消息所遇到的问题
当我们用API写kafka的时候 生产者生产消息,但是消费者接收不到消息?集群上启动消费者显示生产的消息.我们需要修改一下配置 (1)我们打开在虚拟机中修改kafka集群的配置文件 [root@spa ...
- 剑指Offer - 九度1387 - 斐波那契数列
剑指Offer - 九度1387 - 斐波那契数列2013-11-24 03:08 题目描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项.斐波那契数列的定义如下: ...
- Pascal小游戏 打飞机
一个经典的打飞机游戏(1)Pascal代码 十分经典,有一种街机的感觉 奇葩青年的又一控制台神作. uses crt; type list=record ty,ax:integer; ...
- 去掉referer信息
<iframe src="auto-refresh.html" width=500 height=500 rel="noreferrer">< ...