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 ...
随机推荐
- Asp.Net实现WebApi跨域 (非MVC)
目前WebApi在使用上大部分都是跟MVC组合的,而且使用起来也确实十分便利. 但有时候我们也需要在WebForm中使用WebApi,二者还是有一定区别的. 首先看下结构 ①ApiControlle ...
- java web项目自动部署到Tomcat的原因
关于eclipse中MAVEN WEB工程中编译问题 这几天是被java的环境搞疯了,我先是搭了一个spring+springmvc+mybatis的工程,在家里跑了一下,没有问题,把工程带到公司里用 ...
- 了解linux内存管理机制(转)
今天了解了下linux内存管理机制,在这里记录下,原文在这里http://ixdba.blog.51cto.com/2895551/541355 根据自己的理解画了张图: 下面是转载的内容: 一 物理 ...
- sql 把特定数据排在最前面
感谢www.baidu.com/p/dongfanghong_1 sql大神,简单的语法运用起来简直活了. 第一法] select * from table where name='D' UNION ...
- Nginx安装学习使用详细记录
选择Nginx的优点:Nginx 可以在大多数 Unix like OS 上编译运行,并有 Windows 移植版. Nginx 的1.4.0稳定版已经于2013年4月24日发布,一般情况下,对于新建 ...
- POJ 1961 Period( KMP )*
Period Time Limit: 3000MSMemory Limit: 30000K Total Submissions: 12089Accepted: 5656 Description For ...
- FZU 1608 Huge Mission(线段树)
Problem 1608 Huge Mission Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description Oaiei ...
- 形如(function(){}).call()的js语句
研究新浪微博的自动登陆流程,其中涉及到它的加密算法脚本,其中有一段如下形式的代码: (function(){...}).call(name) 其中红色的....是函数的内部各种实现,name为一个对象 ...
- iTOP-4412开发板低功耗高性能的开源硬件平台——上手评测
iTOP-4412开发板现在比较热门的开发板,笔者近期入了一套.也推荐给初学ARM的朋友学习,4412开发板搭载三星Exynos四核处理器,配备1GB内存,4GB固态硬盘EMMC存储,兼具快速读取与超 ...
- js开发工具箱
昨天看到一位大牛的博客,里面有一篇文章“web前端开发分享-目录”,文章中提到的一个给前端er用的一个js开发工具箱.自己使用了一下,非常好用,代码压缩,代码美化,加密,解密之类基本功能都有,生成二维 ...