在javascript中创建并使用对象

<script>
var person = new Object();
person.name = "lgx";
person.sex = "man";
person.age = 24;
person.sayhello = function ()
{
    alert("hello my name is"+this.name);
}
</script>

<body>
<script>

person.sayhello();
</script></body>

使用JSON(javascript Object Notation)

  <script type=text/javascript>
  var person={
   name:"lgx",
   sex:"man",
   age:21,
   sayHello:function(word){
    alert(word+this.name);
   }
  }
  </script>
    <form id="Form1" method="post" runat="server">
            <FONT face="宋体"></FONT>
            <script type=text/javascript>
            //person.sayHello('haha:');
            </script>
            
        </form>

定义复杂对象

var myLibrary=
{
    location:"my house",
    keywords:["row vegetables","turnip","tedium"],
    books:[
    {title:"The title",
     authors:[
       {name:"jim brow",age:18},
       {name:"xxxx",age:13}
     ]
    }
    ]
}

使用prototype声明对象属性和方法

function MyObject(name,size)
{
    this.name = name;
    this.size = size;
}
MyObject.prototype.tellsize = function()
{
    alert("size of"+this.name+"is"+this.size);
}
var myObject = new MyObject("tiddles","7.5 meters");
myObject.tellsize();

需要注意代码执行顺序,只有在构造函数声明之后才能引用其prototype属性,而且
对象从prototype所获得的属性和方法,必须声明在调用构造函数创建对象之前。

用prorotype实现继承

function Vehicle()
{
}
Vehicle.prototype.wheelCount =4;
Vehicle.prototype.curbWeightInPounds = 4000;
Vehicle.prototype.refuel = function()
{
    return "Refueling Vehicle with regular 87 octane gasoline";
}
Vehicle.prototype.mainTasks = function()
{
    return "Driving to  work ,school ,and the grocery store";
}
function SportsCar()
{
}
SportsCar.prototype = new Vehicle();
SportsCar.prototype.curbWeightInPounds = 3000;
SportsCar.prototype.refuel = function ()
{
    return "Refueling SportsCar with premium 94 octane gasoline";
}
SportsCar.prototype.mainTasks = function(){
    return "Spirited driving ,looking good ,driving to the beach";
}
function discribe(vehicle)
{
    var str = "";
    str = "\n\nNumber of wheels:"+ vehicle.wheelCount;
    str += "    Crub Weight: "+vehicle.curbWeightInPounds;
    str += "\n\n Refuel Method:"+vehicle.refuel();
    str += "\n\n Main Tasks:" + vehicle.mainTasks();
    document.getElementById("Info").innerText+=str;
}
function createVehicle()
{
    var vehicle = new Vehicle();
    discribe(vehicle);
}
function createSportsCar()
{
    var sportCar = new SportsCar();
    discribe(sportCar);
}

对象反射
检测一个对象是否有某个属性

if(typeof(MyObject.somePrototype)!="undefined")

检测对象某个属性的类型

if(myObj instanceof Array)

设置剪切板内容

copyLink:function()
    {
        var link = window.location.href;
        var endIndex = link.lastIndexOf("/")+1;
        var host = link.substring(0,endIndex)+"bbs_big.aspx?topicId="+this.NewShowingTopicId;
        window.clipboardData.setData("Text",host);
        alert("已将链接["+host+"]复制到剪切板,粘贴即可!");
    }

get object position

Number.prototype.NaN0=function(){return isNaN(this)?0:this;}
function getPosition(e){
    var left = 0;
    var top  = 0;
    while (e.offsetParent){
        left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
        top  += e.offsetTop  + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);
        e     = e.offsetParent;
    }
    left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
    top  += e.offsetTop  + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);
    return {x:left, y:top};
}

将函数作为一个对象的方法调用

Function.apply()
function.apply(thisobj,args)

thisobj:调用函数的对象,在函数主体中,thisobj是关键字this的值;
args:一个数组,他的值是要传递给function的参数值
------------------
将函数作为对象的方法调用

Function.call()
function.call(thisobj,arg.)

thisobj:调用function的对象,在函数主体中,是this关键字的值;
args:任意多个参数,这些参数传递给函数function

转载于:https://www.cnblogs.com/lgx-net/archive/2006/08/24/485785.html

javascript示例代码相关推荐

  1. JavaScript组件之JQuery(A~Z)教程(基于Asp.net运行环境)[示例代码下载](一)

    (一).概述 现在有好多比较优秀的客户端脚本语言组件, 如: Prototype.YUI.jQuery.mootools.Bindows, Scriptaculous, FCKEditor 等, 都非 ...

  2. 微信小程序 获取手机号 JavaScript解密示例代码详解

    刚开始开发微信小程序的时候,想着实现手机验证码登入,后来查阅资料得知,发给用户的短信是要自己付费的.后来想想,微信获取用户的手机号一样可以保证手机号码的真实性,因为手机号既然可以绑定微信,那么肯定是被 ...

  3. ajax 上传文件实例,JavaScript使用Ajax上传文件的示例代码

    本文介绍了JavaScript使用Ajax上传文件的示例代码,分享给大家,具体如下: 实现文件的上传主要有两种方式: 使用form表单提交上传 html代码如下: 上传 此时的JavaScript代码 ...

  4. 下雪html特效代码,JavaScript 实现下雪特效的示例代码

    直接上代码 下雪效果实现 body,html{ overflow: hidden; } var snowflakes = { arr:[],// 数组盛放元素 snowflake : [//雪花类型 ...

  5. JavaScript(JS) 清空删除数组元素的多种方法及示例代码

    简介: 本文主要介绍JavaScript(JS)中,清空删除数组中的所有元素的多种方法,以及相关的示例代码. 1.使用[]得到一个新数组进行清空 例如, var arr1 = ['a','b','c' ...

  6. Java Web--HTML、CSS、JavaScript详细学习笔记(内含丰富示例代码)

    ** Java Web–HTML.CSS.JavaScript学习笔记 ** HTML(Hyper Text Markup Language超文本标记语言):控制的是页面的内容,是由标签组成的语言,能 ...

  7. CityMaker学习教程10 示例代码的使用Javascript

    示例代码中的CS版本和BS版本是对应的,基本都是一对一的,不过BS有些代码跑起来比较困难,比如说这里用到的获取文件位置的代码 var skyboxPath = getSamplesRelatePath ...

  8. 企业号微信支付 公众号支付 H5调起支付API示例代码 JSSDK C# .NET

    企业号微信支付 公众号支付 H5调起支付API示例代码 JSSDK C# .NET 原文:企业号微信支付 公众号支付 H5调起支付API示例代码 JSSDK C# .NET 先看效果 1.本文演示的是 ...

  9. javascript常用代码大全

    http://caibaojian.com/288.html     原文链接 jquery选中radio//如果之前有选中的,则把选中radio取消掉 $("#tj_cat .pro_ca ...

最新文章

  1. 如何解决Linux下侦听端口被占用
  2. SSH 连接慢 与 反向解析
  3. openstack万兆交换机设置mtu值
  4. php连接数据库语言,PHP语言连接MYSQL数据库实例代码
  5. Hulu直播服务难点解析(二):系统设计与实现
  6. css3怎么排除第一个,css怎么排除第一个子元素
  7. python web验证码_python web框架Flask——手机短信验证码
  8. 《零基础入门学习Python》学习过程笔记【016列表,元组,字符串的转化及共用技巧】...
  9. 【clickhouse】clickhouse clickhouse-client 使用
  10. ThinkPHP admin.php后台登录
  11. typedef struct LNode *p和typedef struct LNode笔记
  12. 微生物组实验手册:中科院、北大和清华等52家单位的74个团队的153篇方法正在创作中(15篇已投稿)...
  13. 谷歌浏览器点击上传文件崩溃/上传图片崩溃/打开浏览文件未响应 解决方案
  14. 滴滴裁员2000人启示:牛逼的人,都有铁饭碗
  15. 深度学习之数据标准化方法综述
  16. 数字8(eight )题解
  17. java 同时返回两个参数,如何在java中返回两个参数
  18. VSCode常用插件及配置修改
  19. 微信小程序实战(仿小米商城)
  20. 月薪五万,996真的就像呼吸一样自然吗?

热门文章

  1. 征服Perl——Linux下安装Perl——里程碑M2
  2. 斐波那契序列 Fibonacci
  3. python怎么打包_如何将一整个python工程打包
  4. 提高C#编程水平不可不读的50个要诀
  5. @RequestParam今天才知道是咋用的..
  6. encodeURIcomponent编码和ASP.NET之间编码转换
  7. PMP考试中关于应急准备金和管理应急准备金的总结
  8. 施乐悄悄修复影响某些打印机中的严重缺陷
  9. 开源软件 Nagios 曝11个漏洞,可使IT 基础设施遭接管引发供应链攻击
  10. 趋势科技称 Apex One EDR 平台的两个0day已遭在野利用