javascript简单对象创建
由于javascript中定义了一个函数就相当于定义了一个类,我们当然可以创建一个这个类的对象。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script type="text/javascript">
function Person(name,age)
{
//定义了一个Person属性name
this.name = name;
//定义了一个Person属性age
this.age = age;
//定义了一个Person属性address
this.address = "harbin";
}
//创建了一个对象p1是Person对象
var p1 = new Person("maybe",21);
alert(p1.name+","+p1.address); var p2 = new Person("gossip",21);
p2.address = "shanghai";
alert(p2.name+","+p2.address);
</script>
</head>
<body>
</body>
</html>
虽然java和javascript根本是两种东西,但这段代码应该很好理解。
首先定义了一个Person类,定义类的属性的方法非常简单,直接用this就可以定义,但是不用this去定义,会出现什么后果呢?我们在类添加一个变量sex,赋值为"male"。
function Person(name,age)
{
//定义了一个Person属性name
this.name = name;
//定义了一个Person属性age
this.age = age;
//定义了一个Person属性address
this.address = "harbin"; var sex="male";
}
输出代码如下:
alert(p1.name+","+p1.address+","+p1.sex);
运行结果:
显示为undefined,未定义的原因是我们并没有用this来定义属性,如果只是简单的定义一个变量,那么它只是一个局部变量,并不是一个类的属性,这一点要弄明白。同理我们在类里随便定义函数,也是不能直接用的,比如:
function Person(name,age)
{
//定义了一个Person属性name
this.name = name;
//定义了一个Person属性age
this.age = age;
//定义了一个Person属性address
this.address = "harbin"; var sex="male"; function say()
{
alert("saying");
}
}
添加代码:
var p1 = new Person("maybe",21);
alert(p1.name+","+p1.address+","+p1.sex);
p1.say();
当运行到p1.say时,会出现错误:
对于变量我们已经解决了,那么方法怎么可以直接通过对象调用呢?
方法很简单。还是利用this:
function Person(name,age)
{
//定义了一个Person属性name
this.name = name;
//定义了一个Person属性age
this.age = age;
//定义了一个Person属性address
this.address = "harbin"; var sex="male"; this.say = function()
{
alert("saying");
}
}
定义一个Person的say属性指向function,这样就能成功调用函数了。
javascript简单对象创建的更多相关文章
- JavaScript中创建类,赋值给ajax中的data参数
缘由:因为要给根据是否选中checkbox来动态增加ajax中data的属性(ajax的data属性格式的几种方法,参考http://www.jb51.net/article/46676.htm) d ...
- JavaScript中创建字典对象(dictionary)实例
这篇文章主要介绍了JavaScript中创建字典对象(dictionary)实例,本文直接给出了实现的源码,并给出了使用示例,需要的朋友可以参考下 对于JavaScript来说,其自身的Array对象 ...
- 简单使用JSON,JavaScript中创建 JSON 对象(一)
JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...
- JavaScript Cookies,创建,获取cookies value
什么是cookie? cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScript 来创建和取回 cookie ...
- JavaScript中创建数组的方式!
JavaScript中创建数组的方式! 利用数组字面量 // 1 直接量 console.log(Array.prototype); var arr = [1, 2, 4, 87432]; // 注意 ...
- javascript面向对象创建高级 Web 应用程序
目录 JavaScript 对象是词典 JavaScript 函数是最棒的 构造函数而不是类 原型 静态属性和方法 闭包 模拟私有属性 从类继承 模拟命名空间 应当这样编写 JavaScript ...
- Javascript对象创建
一.概述 虽然对象字面量可以用来创建对象,但在创建多个类似的对象时,不够优雅,不符合DRY原则. 二.创建对象 有以下几种模式: 1.工厂模式 2.构造函数模式 3.原型模式 4.组合构造函数和原型模 ...
- javascript动态创建script标签,加载完成后调用回调
代码如下: var head = document.getElementsByTagName('head')[0]; var script = document.createElement('scri ...
- JavaScript基础——创建函数
JavaScript的最重要的一个部分是制作其他代码可以重用的代码.要做到这一点,你可以把代码组织成执行特定任务的函数.函数是结合在一个单一的块中,并给予一个名称的一系列代码语句.然后,你就可以通过引 ...
随机推荐
- gtest的Linux使用(Google test)
GTest是Google开发的跨平台而且开源的C++单元测试框架,很好很强大. 下载地址:https://code.google.com/p/googletest/ . 关于GTest在Windows ...
- jquery获取和失去焦点改变样式
第一种:(文本框获取焦点后,它的颜色会有所变化,当失去焦点的时候,恢复为原来的样子) <html> <meta http-equiv="Content-Type" ...
- textarea 在浏览器中固定大小和禁止拖动
HTML 标签 textarea 在大部分浏览器中只要指定行(rows)和列(cols)属性,就可以规定 textarea 的尺寸,大小就不会改变,不过更好的办法是使用 CSS 的 height 和 ...
- SVG image xlink:href 设置失败
公司比较频繁的业务需求,需要在地图上面,标注地区的信息,考虑到兼容性问题,在实际开发中是通过raphael.js绘制地图信息,进行相关交互 产品部门同事辛苦的画SVG地图,可配置地图块与实际地区cod ...
- php数据类型有哪些?
php数据类型有哪些?有三大类1.基本数据类型 1.1整型 $a = 0123; // 八进制数(是以0开头) 83 $a = 0x1A; // 十六进制数 26 1.2小数 ...
- struts2笔记07-action扩展名
1.action扩展名 默认扩展名可以去/org/apache/struts2/default.properties中查看 struts.action.extension=action,, defau ...
- 数组初始化(c, c++, gcc, g++)
这是很基础的东西,但基础的重要性不言而喻,我敢肯定这个知识点我肯定曾经了解过,但现在,我不敢确定,由此可见纪录的重要性,这世界没有什么捷径,找对方向,然后不停重复.所以从今天开始,我会比较详细的纪录这 ...
- MYSQL 数据表备份
方法: mysqldump -uuser_name -p db_name table_nameList >save_file_path 例子: 备份分studio数据库的student 表 my ...
- Android4: Write Storage权限问题
原文:Android4: Write Storage权限问题 2.3中声明 <uses-permission android:name="android.permission.WRIT ...
- Silverlight第三方控件专题
原文http://www.cnblogs.com/nasa/archive/2008/12/01/1344927.html 这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏 ...