内容主要是讲述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. centos 7 编译安装mysql 详细过程

    一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...

  2. foreachRDD,foreach,foreachPartition区别联系

    foreachRDD(SparkStreaming): SparkStreaming是流式实时处理数据,就是将数据流按照定义的时间进行分割(就是"批处理").每一个时间段内处理到的 ...

  3. Django自带后台管理配置

    Django自带后台管理的配置 创建项目和应用 修改配置文件 数据库配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql' ...

  4. SQL Server 数据库内部版本号

    数据库还原或版本升级出现版本错误时可参考 可以利用SQL语句查看本机数据库版本:select @@VERSION 如果你不确定是源数据库的版本,下面的映射表的SQL Server版本的内部版本号,以便 ...

  5. C语言进阶——struct和union分析10

    struct的小秘密: C语言中的struct可以看作变量的集合 struct的问题:空结构体占用多大内存呢? 程序实例1: #include <stdio.h> struct TS { ...

  6. IAR配置ICF到项目的实现方法

    以STM8为例: 将项目使用的MCU型号的icf文件拷贝到项目里面,icf一般放在 C:\Program Files\IAR Systems\Embedded Workbench 6.5\stm8\c ...

  7. linux下解压命令大全(转)

    .tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gun ...

  8. Kettle资源库配置(数据库资源库和文件资源库)

    一>文件资源库配置 1. 建立文件资源库:点击工具->资源库->连接资源库菜单 使用文件资源库不需要用户名和密码,如果没有资源库可以点击右上角的"+"新建资源库, ...

  9. windows禁用/启用hyper-V,解决hyper-V与模拟器同时启用时造成冲突

  10. async/await 实现协程

    2. 基本了解 在了解异步协程之前,我们首先得了解一些基础概念,如阻塞和非阻塞.同步和异步.多进程和协程. 2.1 阻塞 阻塞状态指程序未得到所需计算资源时被挂起的状态.程序在等待某个操作完成期间,自 ...