1 三个等号 “===” 全等号,不需要类型转换座比较的时候使用。
eg:"1"==1 //true
"1"===1 //false ,同时会比较数据类型
2 用加号(+)拼接字符串,IE存在性能问题,网络上流传的一种解决方案如下:
/**
* javaScript 中直接使用 “2”+“3” 这种字符串相加对于性能消耗是很大的。
* 构建一个StringBuffer类。
* var buf = new StringBuffer();
* buf.append("string");
* */
function StringBuffer() {
this._strings = [];
if (arguments.length == 1) {
this._strings.push(arguments[0]);
}
}
StringBuffer.prototype.append = function(str) {
this._strings.push(str);
return this;
}
StringBuffer.prototype.toString = function() {
return this._strings.join("");
}
StringBuffer.prototype.length = function() {
var str = this._strings.join("");
return str.length;
}
StringBuffer.prototype.del = function(num) {
var len = this.length();
var str = this.toString();
str = str.slice(0, len - num);
this._strings = [];
this._strings.push(str);
}
3 扩展Date:
/** Adds the number of days array to the Date object. */
Date._MD = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
/** Constants used for time computations */
Date.SECOND = 1000 /* milliseconds */;
Date.MINUTE = 60 * Date.SECOND;
Date.HOUR = 60 * Date.MINUTE;
Date.DAY = 24 * Date.HOUR;
Date.WEEK = 7 * Date.DAY;
/**
* 扩展Date的toString方法用于格式化。测试 var a = new Date(); alert(a.toString("yyyy-MM-dd HH mm ss"));
*/
Date.prototype.toString = function() {
if (arguments.length > 0) {
var formatStr = arguments[0];
var str = formatStr;
str = str.replace(/yyyy|YYYY/, this.getFullYear());
str = str.replace(/yy|YY/, (this.getFullYear() % 100) > 9 ? (this
.getFullYear() % 100).toString() : "0"
+ (this.getFullYear() % 100));
str = str.replace(/MM/, this.getMonth() + 1 > 9 ? (this.getMonth() + 1)
.toString() : "0" + (this.getMonth() + 1));
str = str.replace(/M/g, (this.getMonth() + 1).toString());
str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate()
.toString() : "0" + this.getDate());
str = str.replace(/d|D/g, this.getDate());
str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours()
.toString() : "0" + this.getHours());
str = str.replace(/h|H/g, this.getHours());
str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes()
.toString() : "0" + this.getMinutes());
str = str.replace(/m/g, this.getMinutes());
str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds()
.toString() : "0" + this.getSeconds());
str = str.replace(/s|S/g, this.getSeconds());
return str;
} else {
return this.toLocaleString();
}
}
/** Returns the number of days in the current month */
Date.prototype.getMonthDays = function(month) {
var year = this.getFullYear();
if (typeof month == "undefined") {
month = this.getMonth();
}
if (((0 == (year % 4)) && ((0 != (year % 100)) || (0 == (year % 400))))
&& month == 1) {
return 29;
} else {
return Date._MD[month];
}
};
/** Returns the number of day in the year. */
Date.prototype.getDayOfYear = function() {
var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0,
0, 0);
var then = new Date(this.getFullYear(), 0, 0, 0, 0, 0);
var time = now - then;
return Math.floor(time / Date.DAY);
};
/** Returns the number of the week in year, as defined in ISO 8601. */
Date.prototype.getWeekNumber = function() {
var d = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0,
0);
var DoW = d.getDay();
d.setDate(d.getDate() - (DoW + 6) % 7 + 3); // Nearest Thu
var ms = d.valueOf(); // GMT
d.setMonth(0);
d.setDate(4); // Thu in Week 1
return Math.round((ms - d.valueOf()) / (7 * 864e5)) + 1;
};
/** Checks date and time equality */
Date.prototype.equalsTo = function(date) {
return ((this.getFullYear() == date.getFullYear())
&& (this.getMonth() == date.getMonth())
&& (this.getDate() == date.getDate())
&& (this.getHours() == date.getHours()) && (this.getMinutes() == date
.getMinutes()));
};
//实例方法
分享到:
相关推荐
【狂神说系列 JavaScript笔记】是一份全面且深入的JavaScript学习资源,旨在帮助开发者和初学者深入理解这门广泛应用于Web开发的脚本语言。这份笔记涵盖了JavaScript的基础语法、核心概念以及高级特性,旨在构建一个...
根据提供的文件信息,我们可以归纳出以下几个JavaScript相关的知识点: ### JavaScript基础用法 #### 内联JavaScript 内联JavaScript指的是在HTML元素中直接嵌入JavaScript代码的方式。这种方式常见于`<a>`、`...
"html+css+javascript笔记完整版"是一份全面的前端学习资源,涵盖了从基础到进阶的HTML、CSS和JavaScript知识。通过深入学习,你可以掌握创建交互式、响应式网页所需的所有技能,并为进一步探索前端开发的广阔领域...
《李炎恢Javascript笔记》是一本深入浅出的JavaScript学习资料,它涵盖了JavaScript的基础到实践应用的诸多方面。这本书的特点是将复杂的编程概念分解为易于理解的小知识点,并且提供了源码示例,使得读者能够更好地...
韩顺平老师的JavaScript笔记全面涵盖了基础语法、面向对象编程以及DOM编程,这些都是学习JavaScript时至关重要的知识点。 首先,基础语法是JavaScript学习的基石。包括变量声明(var、let、const)、数据类型(如...
黑马JavaScript笔记二.md
javascript入门笔记包括javascript简介、javascript语法、javascript流程控制、函数、数组等
韩顺平Javascript笔记完整版.pdf ,配合视频看效果比较好
JavaScript笔记
这份"javascript笔记"可能是作者根据自己的学习和实践整理而成,对初学者来说是非常宝贵的资源。笔记中可能涵盖了变量声明、数据类型(如字符串、数字、布尔值、对象、数组等)、运算符、流程控制(如条件语句和循环...
这份笔记是对JavaScript基础知识的总结,内容丰富且覆盖了JavaScript编程的多个核心方面,适合初学者作为入门参考或对有经验的开发者作为复习材料。在实际使用JavaScript开发中,理解和掌握这些知识点是非常重要的,...
本笔记将深入探讨JavaScript的基本概念、脚本位置、外部引用以及Date对象的使用。 首先,理解JavaScript脚本在HTML文件中的放置位置至关重要。通常,JavaScript可以放在HTML文档的`<head>`或`<body>`部分。当脚本...
JavaScript是目前网页开发中广泛使用的脚本语言,主要用于网页内容的交互式处理和动态更新。本章内容主要介绍了学习JavaScript之前的一些基础知识和准备工作,包括注释、JavaScript的引入方式、输入输出工具的使用、...
JavaScript笔记知识点整理图文 JavaScript是一种广泛应用于web开发的脚本语言,由于其灵活性、跨平台性和动态性,JavaScript广泛应用于Web前端开发、移动应用开发、桌面应用开发等领域。下面是 JavaScript 笔记知识...
【张孝祥JAVASCRIPT笔记图片总结】是一份由知名IT讲师张孝祥编写的JavaScript学习资料,主要以图片的形式呈现,旨在帮助学习者更直观、清晰地理解和记忆JavaScript的关键概念与技术点。这份笔记涵盖了JavaScript的...
Javascript 笔记 根据提供的文件信息,我们可以生成以下知识点: 一、Javascript 介绍 Javascript 是一种高级的、动态的、基于原型的编程语言,广泛应用于 Web 开发、移动应用开发、游戏开发等领域。Javascript ...
这份“原生javascript笔记”涵盖了基础到进阶的知识点,非常适合初学者和希望提升技能的开发者。下面将详细阐述其中可能包含的重要概念和技能。 1. **基础语法**:JavaScript的基础包括变量声明(`var`, `let`, `...
这篇文章《JavaScript笔记》的配套代码提供了丰富的实例,旨在帮助读者深入理解和掌握JavaScript的基本概念、语法以及应用技巧。 首先,我们来看看“JS笔记”部分。在学习JavaScript时,理解变量的声明、数据类型...