JS构造函数的用法和JS原型
$(function(){
//
var rec = new Rectangle(5, 10);
//alert(rec.width + "*" + rec.height + "=" + rec.area());
//alert(rec.hasOwnProperty("width"));
//alert("area" in rec);
//alert(rec.toString());
//
var message = "hello world";
//alert(message.endsWith("d"));
//alert(Array.prototype.push);
//表示的最大数字和最小数字
//alert(Number.MAX_VALUE + " OR " + Number.MIN_VALUE);
//
var n = 17;
//alert(n.toString(2)); //其中2代表转为2进制,若将其改为16,则输出的是16进制的值s
//
//alert(parseInt("15",8)); //输出13,15的8进制(13 == 1*8+5*0)
//5.1
//alert(fun(5));
//5.2
//alert(fun2(5));
var point = new Object();
point.x = 1;
point.y = 2;
//alert(point.x + " AND " + point.y);
//alert(delete point.x); //这一行代码有无执行会影响到下一行代码的执行结果
//alert("x" in point);
var arr = [1, 2, 3, 4, 5];
//alert(arr.concat(4, [5, [6, 7]]));
//alert(arr.slice(1, 4)); //截取数据第2个到第5个元素,包括第2个不包括第5个
var str = "chinese";
//alert(str.lastEndChar());
//alert(location.href);
//alert(location.search); //获取url地址?后面的参数列表
//打开新窗口
//window.open("http://www.baidu.com", "minWin", "width=400, height=350, status=yes, resizable=yes");
});
//JS构造函数 1
function Rectangle(w, h) {
this.width = w;
this.height = h;
this.area = function () {
//return this.width * this.height; //写法1.1
with (this) { //写法1.2
return width * height;
}
}
}
//设置Rectangle的原型值,若构造函数中无定义area方法,则默认使用原型
Rectangle.prototype.area = function () {
return 5;
}
//重写Rectangle的toString方法
Rectangle.prototype.toString = function () {
return this.width + " " + this.height ;
}
//2 查看字符串的结尾是否是以c结尾的 返回true OR false
String.prototype.endsWith = function (c) {
return (c == this.charAt(this.length - 1));
}
//5.1 lambda写法(拉姆达)
var fun = function (x) {
return x + x;
}
//5.2
var fun2 = new Function("x", "return x+x");
//返回字符串末尾的指定个数的字符
String.prototype.lastEndChar = function (num) {
num = (null != num)? num : 1;
return this.substring(this.length - num, this.length);
}
我只会编码,因为我相信代码比任何的语言表达更能让人信服!!!
原创来自:背着理想去流量
JS构造函数的用法和JS原型的更多相关文章
- JS构造函数、对象工厂、原型模式
1.对象创建的3中方法 1.1.对象字面量 var obj = { name: "mingzi", work: function () { console.log("wo ...
- 深入研究js构造函数和原型
很快就要从新浪离职了,最近心情比较轻松,抽点空整理一下构造函数和原型的机理. 我们都知道,在经典设计模式中我们最常用的就是工厂模式.构造函数模式.原型模式这几种,听起来‘模式’好像很高大上的样子,实际 ...
- js最好的继承机制:用对象冒充继承构造函数的属性,用原型prototype继承对象的方法。
js最好的继承机制:用对象冒充继承构造函数的属性,用原型prototype继承对象的方法. function ClassA(sColor) { this.color = sColor; } Class ...
- js一种继承机制:用对象冒充继承构造函数的属性,用原型prototype继承对象的方法。
js一种继承机制:用对象冒充继承构造函数的属性,用原型prototype继承对象的方法. function ClassA(sColor) { this.color = sColor; } ClassA ...
- js高级——构造函数,实例对象和原型对象——prototype、__proto__和constructor构造器
一.前言 了解JavaScript面向对象,需要先了解三个名词: 构造函数,实例对象和原型对象. 注意:JavaScript中没有类(class)的概念,取而代之的是构造函数,两者类似却又有很大的差别 ...
- js 构造函数 & 静态方法 & 原型 & 实例方法
js 构造函数 & 静态方法 & 原型 & 实例方法 ES5 "use strict"; /** * * @author xgqfrms * @licens ...
- JS高级---构造函数,实例对象和原型对象,三者关系
构造函数,实例对象和原型对象,三者关系 构造函数里面有原型(prototype)属性,即原型对象 原型对象里的constryctor构造器指向构造函数 通过构造函数,实例化,创建的就是实例对象. 实例 ...
- 谈谈JS构造函数
//构造函数 //使自己的对象多次复制,同时实例根据设置的访问等级可以访问其内部的属性和方法 //当对象被实例化后,构造函数会立即执行它所包含的任何代码 function myObject(msg) ...
- Class和普通js构造函数的区别
Class 在语法上更加贴合面向对象的写法 Class 实现继承更加易读.易理解 更易于写 java 等后端语言的使用 本质还是语法糖,使用 prototype Class语法 typeof Math ...
随机推荐
- linux配置文件的一些调优
Linux中所有东西都是文件,一个socket就对应着一个文件描述符,因此系统配置的最大打开文件数以及单个进程能够打开的最大文件数就决定了socket的数目上限:但是linux是有文件句柄限制的,而且 ...
- JQ插件
什么是插件 插件(plugin)是JQuery的扩展(Extension),以JQuery的核心代码为基础,是一种遵循一定规范的应用程序接口编写出来的程序. 插件的引入 引入jquery.js文件 引 ...
- SQL2008 提示评估期已过的解决方法
提示窗口: 解决步骤: 第一步:进入SQL2008配置工具中的安装中心 第二步:再进入维护界面,选择版本升级 第三步:进入产品密钥,输入密钥 第四步:一直点下一步,直到升级完毕. SQL Server ...
- CS193P学习笔记(一)
1>iOS系统分层 1.Core OS 核心操作系统层,很接近硬件的一层: 本质是一个Unix内核,使用基于BSD的Unix版本,拥有文件系统.套接字.权限等一系列Unix所具有的特性,并且 ...
- FOJ 1683 纪念SlingShot(矩阵快速幂)
C - 纪念SlingShot Description 已知 F(n)=3 * F(n-1)+2 * F(n-2)+7 * F(n-3),n>=3,其中F(0)=1,F(1)=3,F(2)=5, ...
- linux—【用户和组的管理操作】(5)
用户:user 组:group 增加:add 修改:modify mod 删除:delete del useradd 增加用户 usermod 修改用户 userdel ...
- MVC+AjaxFileUpload文件上传
来源:微信公众号CodeL 本次给大家分享的是ajaxfileupload文件上传插件,百度一大堆功能超炫的文件上传插件,为什么我们会选择这个插件呢? 原因是在此之前,我们尝试使用过很多基于flash ...
- 分析递归式 Solving Recurrences------GeeksforGeeks 翻译
在上一章中我们讨论了如何分析循环语句.在现实中,有很多算法是递归的,当我们分析这些算法的时候我们要找到他们的的递归关系.例如归并排序,为了排序一个数组,我们把它平均分为两份然后再重复平分的步骤.最后我 ...
- [转载]ExtJs4 笔记(9) Ext.Panel 面板控件、 Ext.window.Window 窗口控件、 Ext.container.Viewport 布局控件
作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...
- UVALive 6450 Social Advertising DFS解法
题意:一些人有朋友关系,在某个人的社交网站上投放广告可以被所有该人的直接朋友看到,问最小投放多少个广告使给出的人都看到广告.(n<=20) 解法:看到n的范围可以想到用二进制数表示每个人被覆盖与 ...