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的最重要的一个部分是制作其他代码可以重用的代码.要做到这一点,你可以把代码组织成执行特定任务的函数.函数是结合在一个单一的块中,并给予一个名称的一系列代码语句.然后,你就可以通过引 ...
随机推荐
- C++中引用用于结构
正确 void change(test &target) { target.name = "aaa"; } 错误 void change(const test &t ...
- 内存管理之二——Cocos2d-x学习历程(六)
1.工厂方法 工厂方法是程序设计中一个经典的设计模式,指的是基类中只定义创建对象的接口,将实际的实现推迟到子类中. CCObject* factoryMethod() { CCObject* ret ...
- leetcode Binary Tree Paths python
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = ...
- Linux----mktemp命令的用法
命令说明: mktemp命令用于临时文件和临时目录.它的主要特点就是可以做到每次执行mktemp时产生文件和目录都不重名: 这个特性就保证了多个session执行同一脚本都是安全的. 命令用法: 格式 ...
- Delphi 实现Ini文件参数与TEdit和TCheckBox绑定(TSimpleParam)
在实际工作中,常遇到对Ini参数的修改,显示与保存问题. 如果手工写代码,会有很大的工作量. 本例把ini文件的参数与控件绑定起来,以达到方便使用的目的. 本例程共有2个单元 uSimpleParam ...
- css Block formatting context BFC
w3c关于BFC解释: http://www.w3.org/TR/CSS21/visuren.html#block-formatting Mdn描述: A block formatting conte ...
- mysql timestamp 值不合法问题
Create Table: CREATE TABLE `RecruitmentDesc` ( `sn` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号(自增字段 ...
- WISPr1.0
王桢珍 王兵 侯志强 苑红 中国移动研究院 网络技术研究所, 北京100053 摘要 本文详细介绍了WLAN国际漫游的WISPr1.0技术规范并探讨其具体实现,包括基于WISPr1.0的WLAN国 ...
- poj1658
#include <stdio.h> #include <stdlib.h> int main() { int n; scanf("%d",&n); ...
- 微信token认证方法原理
var http = require('http'); var url = require("url"); var crypto = require("crypto&qu ...