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),然后做出了错误的回答 ...
随机推荐
- JAVAOOP接口
狭义接口:用来约束实现类中方法的长相的. 广义接口:已将编写好的功能. 1.接口中的方法都是抽象方法,没有方法体,必须被子类重写 2.java的接口变量都是静态常量 3.接口方法只不过是用来约束现实类 ...
- Jenkins持续化集成
Jenkins介绍 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作. 安装环境 操作系统:lin ...
- JDK学习---深入理解java中的LinkedList
本文参考资料: 1.<大话数据结构> 2.http://blog.csdn.net/jzhf2012/article/details/8540543 3.http://blog.csdn. ...
- Ajax全解析
什么是Ajax Ajax基本概念 Ajax(Asynchronous JavaScript and XML):翻译成中文就是异步的JavaScript和XML. 从功能上来看是一种在无需重新加载整个网 ...
- javascript的js调用
本来从一开始接触编程开始,自己就一直写后端,但是对于前端真的不会,但是没办法呀,公司要做,所以,好吧,开始了写一写简单的javascript的内容其中,在xxx.jsp页面中出现了这个 <a c ...
- 基于HDP版本的YDB安装部署(转)
第三章 YDB依赖环境准备 一.硬件环境 硬件如何搭配,能做到比较高的性价比,不存在短板.合理的硬件搭配,对系统的稳定性也很关键. 1.CPU不是核数越高越好,性价比才是关键. 经常遇到很多的企业级客 ...
- bitset学习
bitset是个好东西.嗯.贼sao~ 很早就讲过但是我并没有弄懂.(现在也不敢说明白) 首先bitset是有常数的,而且常数并不能忽略不计——$(\frac{1}{32})$ 目前我也只是会bits ...
- 如何在Apache中使用PHP处理PHP文件
一.将PHP预处理器作为Apache的模块(插件) Apache软件自身的功能都是基于模块化管理的. 将PHP预处理器作为Apache的一个模块即可. 在apache/conf/httpd.conf的 ...
- Pascal 杨辉三角
用于打印杨辉三角的程序,有多种算法仅提供一种 PRogram yh (input,ouput);var m,n,c:integer;Begin For m:=0 TO 10 Do Begin ...
- Windows下安装jenkins,关闭jenkins,修改jenkins端口号
1.Jenkins安装部署 在官网下载Jenkins: https://jenkins.io/download/thank-you-downloading-windows-installer-stab ...