内容主要是讲述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中在定义函数的几种形式的更多相关文章

  1. JavaScript 中,定义函数时用 var foo = function () {} 和 function foo() {}有什么区别?

    对于新手来说(本人也是新手-_-!),好像var foo = function () {} 和 function foo(){}并没有什么区别,意识里可能就认为就是两种不同的写法而已.但是,通过网上查 ...

  2. 前端学习 第二弹: JavaScript中的一些函数与对象(1)

    前端学习 第二弹: JavaScript中的一些函数与对象(1) 1.apply与call函数 每个函数都包含两个非继承而来的方法:apply()和call(). 他们的用途相同,都是在特定的作用域中 ...

  3. 理解和使用 JavaScript 中的回调函数

    理解和使用 JavaScript 中的回调函数 标签: 回调函数指针js 2014-11-25 01:20 11506人阅读 评论(4) 收藏 举报  分类: JavaScript(4)    目录( ...

  4. JS定义函数的2种方式以及区别简述(为什么推荐第二种方式)

     无意中看到了阮一峰大神多年前的一篇博客: 12种不宜使用的Javascript语法    看到第9条的时候受到了启发,感觉之前没怎么理解清楚的一些问题好像突然就清晰了,如下图 可能光这样看,有些小伙 ...

  5. 理解javascript中的回调函数(callback)【转】

    在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String.Array.Number.Object类的对象一样用于内置对象的管理.因为function实 ...

  6. JavaScript 中的回调函数

    原文:http://javascriptissexy.com/ 翻译:http://blog.csdn.net/luoweifu/article/details/41466537 [建议阅读原文,以下 ...

  7. [转]JavaScript中的匿名函数及函数的闭包

    JavaScript中的匿名函数及函数的闭包  原文地址:http://www.cnblogs.com/wl0000-03/p/6050108.html 1.匿名函数 函数是JavaScript中最灵 ...

  8. JavaScript中的匿名函数及函数的闭包(转)

    JavaScript中的匿名函数及函数的闭包  https://www.cnblogs.com/wl0000-03/p/6050108.html 1.匿名函数 函数是JavaScript中最灵活的一种 ...

  9. JavaScript中的普通函数和箭头函数

    最近被问到了一个问题: javaScript 中的箭头函数 ( => ) 和普通函数 ( function ) 有什么区别? 我当时想的就是:这个问题很简单啊~(flag),然后做出了错误的回答 ...

随机推荐

  1. JAVAOOP接口

    狭义接口:用来约束实现类中方法的长相的. 广义接口:已将编写好的功能. 1.接口中的方法都是抽象方法,没有方法体,必须被子类重写 2.java的接口变量都是静态常量 3.接口方法只不过是用来约束现实类 ...

  2. Jenkins持续化集成

    Jenkins介绍 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作. 安装环境 操作系统:lin ...

  3. JDK学习---深入理解java中的LinkedList

    本文参考资料: 1.<大话数据结构> 2.http://blog.csdn.net/jzhf2012/article/details/8540543 3.http://blog.csdn. ...

  4. Ajax全解析

    什么是Ajax Ajax基本概念 Ajax(Asynchronous JavaScript and XML):翻译成中文就是异步的JavaScript和XML. 从功能上来看是一种在无需重新加载整个网 ...

  5. javascript的js调用

    本来从一开始接触编程开始,自己就一直写后端,但是对于前端真的不会,但是没办法呀,公司要做,所以,好吧,开始了写一写简单的javascript的内容其中,在xxx.jsp页面中出现了这个 <a c ...

  6. 基于HDP版本的YDB安装部署(转)

    第三章 YDB依赖环境准备 一.硬件环境 硬件如何搭配,能做到比较高的性价比,不存在短板.合理的硬件搭配,对系统的稳定性也很关键. 1.CPU不是核数越高越好,性价比才是关键. 经常遇到很多的企业级客 ...

  7. bitset学习

    bitset是个好东西.嗯.贼sao~ 很早就讲过但是我并没有弄懂.(现在也不敢说明白) 首先bitset是有常数的,而且常数并不能忽略不计——$(\frac{1}{32})$ 目前我也只是会bits ...

  8. 如何在Apache中使用PHP处理PHP文件

    一.将PHP预处理器作为Apache的模块(插件) Apache软件自身的功能都是基于模块化管理的. 将PHP预处理器作为Apache的一个模块即可. 在apache/conf/httpd.conf的 ...

  9. Pascal 杨辉三角

    用于打印杨辉三角的程序,有多种算法仅提供一种 PRogram yh (input,ouput);var  m,n,c:integer;Begin For m:=0 TO 10 Do   Begin   ...

  10. Windows下安装jenkins,关闭jenkins,修改jenkins端口号

    1.Jenkins安装部署 在官网下载Jenkins: https://jenkins.io/download/thank-you-downloading-windows-installer-stab ...