关于一些对象的属性、方法。

关于一些对象的属性、方法

为了方便自己查看一些对象的方法,属性。

Array 对象属性:

属性描述
constructor返回对创建此对象的数组函数的引用。
length设置或返回数组中元素的数目。
prototype使您有能力向对象添加属性和方法。

Array 对象方法:

concat() 连接两个或多个数组。返回值:新数组;

var arr=[1,3,5,7];
console.log(arr.concat(5,5));	// [1, 3, 5, 7, 5, 5]
console.log(arr);				// [1, 3, 5, 7]

join() 用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的,默认逗号。返回值:字符串;

console.log(arr.join("|"));		// 1|3|5|7

pop() 用于删除并返回数组的最后一个元素。返回值:最后一个元素的值;

console.log(arr.pop());			// 7
console.log(arr);		    	// [1, 3, 5]

shift() 用于删除并返回数组的第一个元素。返回值:第一个元素的值;

console.log(arr.shift());		// 1
console.log(arr);				// [3, 5]

unshift() 向数组的开头添加一个或更多元素。返回值:新的长度。

console.log(arr.unshift(1,2));	//4
console.log(arr);				//[1, 2, 3, 5]

push() 向数组的末尾添加一个或多个元素。返回值:新的长度。

console.log(arr.push(7,8));		// 6
console.log(arr);				// [1, 2, 3, 5, 7, 8]

slice() 可从已有的数组中返回选定的元素。返回值:新的数组,包含从 start 到 end (不包括该元素)的元素;

console.log(arr.slice(1,5));	// [2, 3, 5, 7]
console.log(arr);				// [1, 2, 3, 5, 7, 8]

splice() 可对数组进行 增、删、改。返回值:被删除的项目的新数组

console.log(arr.splice(3,0,4)); // [] 在索引3处 添加值4
console.log(arr);				// [1, 2, 3, 4, 5, 7, 8]
console.log(arr.splice(4,3));	// [5, 7, 8] 在索引4处 删除三位
console.log(arr);				// [1, 2, 3, 4]
console.log(arr.splice(3,1,9));	// [4]
console.log(arr);				// [1, 2, 3, 9] 在索引3处 改成值9

reverse() 用于颠倒数组中元素的顺序。//注释:该方法会改变原来的数组,而不会创建新的数组。

console.log(arr.reverse());		// [9, 3, 2, 1]

sort() 用于对数组的元素进行排序。返回值:数组在原数组上进行排序,不生成副本;

console.log(arr.sort());		// [1, 2, 3, 9]

toString() 数组转换为字符串,并返回结果。

console.log(arr.toString());	// 1,2,3,9

toLoacleString() 把数组转换为本地字符串

console.log(arr.toLocaleString());// 1,2,3,9

valueOf() 方法返回 Array 对象的原始值

console.log(arr.valueOf());		// [1, 2, 3, 9]

关于一些函数封装:

排序函数:
		function sortNumber(a,b){
			return a-b
			}
		var arr1=[5,4,2,8,10,3];
		console.log(arr1.sort(sortNumber)); //[2, 3, 4, 5, 8, 10]

Array - String - Number - Boolean - Math - Date - RegExp - Events - Function


String 对象属性:

属性描述
constructor对创建该对象的函数的引用
length字符串的长度
prototype允许您向对象添加属性和方法

String 对象方法:

var str = 'hello string';
var str1 = ' giao';

concat() 方法用于连接两个或多个字符串。

console.log(str.concat(str1)); 		// hello string giao

charAt() 方法可返回指定位置的字符。参数:下标;

console.log(str.charAt(4));			// o

charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。参数:下标;

console.log(str.charCodeAt(4));		// 111

fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。注释:它的语法应该是 String.fromCharCode()

console.log(String.fromCharCode(65,66,67));	// ABC

indexOf() 检索字符串。参数:1指定字符串/2开始搜索位置

console.log(str.indexOf('l',0));		// 2

lastIndexOf()后向前搜索字符串。

console.log(str.lastIndexOf('l'));		//3

split() 方法用于把一个字符串分割成字符串数组。//注意:切割字符串返回成 数组

console.log(str.split(" ")); 			// ["hello", "string"]

slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

console.log(str.slice(2,9));			//llo str

substr() 从起始索引号提取字符串中指定数目的字符。

console.log(str.substr(6,6));			//string

substring() 提取字符串中两个指定的索引号之间的字符。参数:1开始位置2结束位置;:与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数。

console.log(str.substring(6));			//string

toLocaleLowerCase() 方法用于把字符串转换为小写

console.log(str.toLowerCase());

toUpperCase() 方法用于把字符串转换为大写

console.log(str.toUpperCase());

sub() 方法用于把字符串显示为下标

console.log(str.sub());					//<sub>hello string</sub>

sup() 方法用于把字符串显示为上标

console.log(str.sup());					//<sup>hello string</sup>

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。

var str2="Hello world!"
console.log(str2.match("world"));		//world
console.log(str2.match("World"));		//null
console.log(str2.match("worlld"));		//null
console.log(str2.match("world!"));		//world!

replace() 方法可替换正则表达式匹配的子串

console.log(str.replace("hello","giao"));//giao string

search() 方法可检索正则表达式相匹配的值

var str3="Visit W3School!"
console.log(str3.search(/w3school/i));	//6

Array - String - Number - Boolean - Math - Date - RegExp - Events - Function


Number 对象属性:
属性描述
constructor返回对创建此对象的 Number 函数的引用。
MAX_VALUE可表示的最大的数。
MIN_VALUE可表示的最小的数。
NaN非数字值。
NEGATIVE_INFINITY负无穷大,溢出时返回该值。
POSITIVE_INFINITY正无穷大,溢出时返回该值。
prototype使您有能力向对象添加属性和方法。

Number 对象方法:

var num1 = Number(15);
var num2 = Number('12');

toString() 可把一个 Number对象转换为一个字符串,并返回结果。参数:使 2 ~ 36 之间的整数。若省略该参数,则使用基数 10。

console.log(num1.toString(2));			// 1111

toLocaleString() 可把一个 Number 对象转换为本地格式的字符串。

console.log(num1.toLocaleString());		// 15

toFixed() 可把 Number 四舍五入为指定小数位数的数字。参数:必需。规定小数的位数,是 0 ~ 20 之间的值,忽略默认0;

console.log(num2.toFixed(3));			// 12.000

toPrecisition() 数字格式化为指定的长度。参数:必需。该参数是 1 ~ 21 之间的值。忽略默认调用方法 toString(),而不是把数字转换成十进制的值。

console.log(num1.toPrecision(4));		// 15.00

toExponential() 对象的值转换成指数计数法。参数:必需。规定指数计数法中的小数位数,是 0 ~ 20 之间的值,忽略默认0;

console.log(num1.toExponential(2));		// 1.50e+1

Array - String - Number - Boolean - Math - Date - RegExp - Events - Function


Boolean 对象属性:

属性描述
constructor返回对创建此对象的 Boolean 函数的引用
prototype使您有能力向对象添加属性和方法。

Boolean 对象方法:

function Test(name,age)
			{
			this.name=name;
			this.age =age;
			};
	var boo=new Test("giao",18);
	console.log(boo.toSource());		//报错

toString() 方法可把一个逻辑值转换为字符串,并返回结果。

var boo1 = new Boolean(true);
console.log(boo1.toString());			//true

valueOf() 方法可返回 Boolean 对象的原始值

console.log(boo1.valueOf());			//true

Array - String - Number - Boolean - Math - Date - RegExp - Events - Function


Math 对象 : 用于执行数学任务
使用 Math 的属性和方法的语法:
		 var pi_value = Math.PI;
		 var sqrt_value = Math.sqrt(15);
	 注释:Math 对象并不像 Date 和 String 那样是对象的类,因此没有
	 构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对
	 象的方法。 因此无需创建它,通过把 Math 作为对象使用就可以调用
	 其所有属性和方法。

Math 对象属性:

属性描述
E返回算术常量e,即自然对数的底数(约等于2.718
LN2返回 2 的自然对数(约等于0.693
LN10返回 10 的自然对数(约等于2.302
LOG2E返回以 2 为底的 e 的对数(约等于 1.414
LOG10E返回以 10 为底的 e 的对数(约等于0.434
PI返回圆周率(约等于3.14159
SQRT_1返回返回 2 的平方根的倒数(约等于 0.707
SQRT2返回 2 的平方根(约等于 1.414

Math 对象方法:

random() 方法可返回介于 0 ~ 1 之间的一个随机数

console.log(Math.random()*9+1);			// 1~10随机数

abs() 方法可返回数的绝对值。参数:必须是一个数值。返回:绝对值.

console.log(Math.abs(-3));				// 3

ceil() 对数进行 向上舍入

console.log(Math.ceil(2.1));			// 3

round() 对数进行 四舍五入

console.log(Math.round(2.5));			// 3

floor() 对数进行 向下舍入

console.log(Math.floor(2.9));			// 2

max() 返回 最大值

console.log(Math.max(1,2,3));			// 3

min() 返回 最小值

console.log(Math.min(1,2,3));			// 1

pow() 方法可返回 x 的 y 次幂的值

console.log(Math.pow(2,4));				// 16

sqrt() 方法可返回一个数的平方根

console.log(Math.sqrt(16));				// 4

log() 方法可返回一个数的自然对数

console.log(Math.log(1));				// 0

cos() 方法可返回一个数字的余弦值。参数:必须是一个数值。返回:-1.0 到 1.0 之间的数

console.log(Math.cos(90));				// -0.4480736161291702

sin() 方法可返回一个数字的正弦。参数:一个以弧度表示的角。返回:-1.0 到 1.0 之间。

console.log(Math.sin(90));				// 0.8939966636005579

tan() 方法可返回一个表示某个角的正切的数字。参数:一个以弧度表示的角.返回:参数的正切值.

console.log(Math.tan(90));				// -1.995200412208242

acos() 方法可返回一个数的反余弦。参数:必须是 -1.0 ~ 1.0 之间的数。返回: 0 到 PI 之间的弧度值.

console.log(Math.acos(1));				// 0

asin() 方法可返回一个数的反正弦值。参数:必须是 -1.0 ~ 1.0 之间的数。返回:-PI/2 到 PI/2 之间的弧度值。

console.log(Math.asin(1));				// 1.5707963267948966

atan() 方法可返回数字的反正切值。参数:必须是一个数值。返回的值是 -PI/2 到 PI/2 之间的弧度值。

console.log(Math.atan(1));				// 0.7853981633974483

Array - String - Number - Boolean - Math - Date - RegExp - Events - Function


Date 对象 : 用于处理日期和时间
	创建 Date 对象语法:
		 var date = new Date();
 	注释:Date 对象会自动把当前日期和时间保存为其初始值。
属性描述
constructor返回对创建此对象的 Date 函数的引用。
prototype使您有能力向对象添加属性和方法。

Date 对象方法:

//Date() 返回当日的日期和时间。
var d = new Date();
console.log(d);						//返回当前时间
console.log(d.getFullYear());		//年
console.log(d.getMonth() + 1);		//月
console.log(d.getDay());			//日
console.log(d.getHours());			//时
console.log(d.getMinutes());		//分
console.log(d.getSeconds());		//秒
console.log(d.getTime());			//返回 1970 年 1 月 1 日至今的毫秒数。
console.log(d.getTimezoneOffset());	//返回本地时间与格林威治标准时间 (GMT) 的分钟差。
console.log(d.toString());			//把 Date 对象转换为字符串。

Date 日期格式化:

方法一: 为Date原型添加如下format()的方法:可自定义输出格式

Date.prototype.format = function(fmt) {
	var o = {
		"M+": this.getMonth() + 1, //月份
		"d+": this.getDate(), //日
		"h+": this.getHours(), //小时
		"m+": this.getMinutes(), //分
		"s+": this.getSeconds(), //秒
		"q+": Math.floor((this.getMonth() + 3) / 3), //季度
		"S": this.getMilliseconds() //毫秒
	};
	if (/(y+)/.test(fmt))
		fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
	for (var k in o)
		if (new RegExp("(" + k + ")").test(fmt))
			fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
	return fmt;
}
	var test1 = new Date().format("yyyy-MM-dd hh:mm:ss.S");
	console.log(test1);			//打印出yyyy-MM-dd hh:mm:ss.S格式的时间日期;

方法二: 打印出 yyyy-MM-dd hh:mm:ss 格式的时间日期。

function formatDateTime(inputTime) {
    var date = new Date(inputTime);
    var y = date.getFullYear();
    var m = date.getMonth() + 1;
    m = m < 10 ? ('0' + m) : m;
    var d = date.getDate();
    d = d < 10 ? ('0' + d) : d;
    var h = date.getHours();
    h = h < 10 ? ('0' + h) : h;
    var minute = date.getMinutes();
    var second = date.getSeconds();
    minute = minute < 10 ? ('0' + minute) : minute;
    second = second < 10 ? ('0' + second) : second;
    return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;
};
	console.log(formatDateTime(new Date()));	

Array - String - Number - Boolean - Math - Date - RegExp - Events - Function


RegExp 对象 : 对象RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
 字面量语法:
		/pattern/attributes
 创建 RegExp 对象的语法:
		new RegExp(pattern,attributes);
 参数:
 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式
 attributes 是一个可选的字符串,包含属性 "g(全局匹配)""i(区分大小写)""m(多行匹配)"。
 返回值:
	一个新的 RegExp 对象,具有指定的模式和标志。
	如果参数 pattern 是 正则表达式 而不是字符串,那么 RegExp() 构造函数将用与指定的 RegExp 相同的模式和标志创建一个新的 RegExp 对象。
	如果不用 new 运算符,而将 RegExp() 作为函数调用,那么它的行为与用 new 运算符调用时一样,只是当 pattern 是正则表达式时,它只返回 pattern,而不再创建一个新的 RegExp 对象。
	

方括号: 方括号用于查找某个范围内的字符:

 [abc]				查找方括号之间的任何字符。
 [^abc]				查找任何不在方括号之间的字符。
 [0-9]				查找任何从 09 的数字。
 [a-z]				查找任何从小写 a 到小写 z 的字符
 [A-Z]				查找任何从大写 A 到大写 Z 的字符。
 [A-z]				查找任何从大写 A 到小写 z 的字符。
 [adgk]				查找给定集合内的任何字符。
 [^adgk]			查找给定集合外的任何字符。
 (red|blue|green)	查找任何指定的选项。

元字符: 元字符(Metacharacter)是拥有特殊含义的字符:

 .					查找单个字符,除了换行和行结束符。
\w					查找单词字符
\W					查找非单词字符
\d					查找数字
\D						非数字
\s					查找空白字符
\S						非空白字符
\b					匹配单词边界。
\B					    非单词边界
\0					查找 NUL 字符
\n					查找 换行符
\f					查找 换页符
\r					查找 回车符
\t					查找 制表符
\v					查找 制表符
\xxx				查找以八进制数 xxx 规定的字符。
\xdd				查找以十六进制数 dd 规定的字符。
\uxxxx				查找以十六进制数 xxxx 规定的 Unicode 字符。

量词:

 n+					匹配任何包含至少一个 n 的字符串。
 n*					匹配任何包含零个或多个 n 的字符串。
 n?					匹配任何包含零个或一个 n 的字符串。
 n{X}				匹配包含 X 个 n 的序列的字符串。
 n{X,Y}				匹配包含 XY 个 n 的序列的字符串。
 n{X,}				匹配包含至少 X 个 n 的序列的字符串。
 n$					匹配任何结尾为 n 的字符串。
 ^n					匹配任何开头为 n 的字符串。
 ?=n				匹配任何其后紧接指定字符串 n 的字符串。
 ?!n				匹配任何其后没有紧接指定字符串 n 的字符串。

RegExp 对象属性:

globalRegExp对象是否具有标志 g。
ignoreCaseRegExp对象是否具有标志 i。
multilineRegExp 对象是否具有标志 m。
lastIndex一个整数,标示开始下一次匹配的字符位置。
source正则表达式的源文本。

RegExp 对象方法:

compile() 方法用于在脚本执行过程中编译正则表达式。也可用于改变和重新编译正则表达式。
exec() 方法用于检索字符串中的正则表达式的匹配。
test() 检索字符串中指定的值。返回 true 或 false。

支持正则表达式的 String 对象的方法:

 search()				检索 与正则表达式相 匹配的 值。	
 match()				找到一个或多个 正则表达式的 匹配。	
 replace()				替换 与正则表达式 匹配的子串。	
 split()				把字符串 分割 为字符串 数组。

常用的方法:

字符串后面接3种常用函数:

match(reg)(返回匹配到的字符串)
replace(reg,'...')(替换内容)
search(reg)(返回匹配内容的开始位置)

正则表达式后面接2种常用函数:

test(string)(返回是否匹配)
exec(string)(返回匹配到的字符串)	

常用的正则表达式: 更多可点击

身份证号(15位、18位数字)^\d{15}|\d{18}$

手机号码: ^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$

帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)^[a-zA-Z][a-zA-Z0-9_]{4,15}$
		
密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)^[a-zA-Z]\w{5,17}$
		
电子邮箱: /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/

URL/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/

HTML 标签: /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/

十六进制值:	/^#?([a-f0-9]{6}|[a-f0-9]{3})$/

IP 地址:	/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

Array - String - Number - Boolean - Math - Date - RegExp - Events - Function


Events事件: 事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行。

事件属性:

 onclick				鼠标 点击某个对象
 ondblclick				鼠标 双击某个对象
 
 onkeydown				某个键盘的键被 按下
 onkeypress				某个键盘的键被 按下或按住
 onkeyup				某个键盘的键被 松开
 
 onmousedown			某个鼠标按键被 按下
 onmouseup				某个鼠标按键被 松开
 onmousemove			鼠标被 移到
 onmouseout				鼠标从某个元素 移开
 onmouseover			鼠标被 移到某个元素上
 
 onfocus				元素 获得焦点
 onblur					元素 失去焦点
 onsubmit				提交按钮 被点击
 onreset				重置按钮 被点击
 
 onload					某个页面或图像被 完成加载
 onabort				图像加载被 中断
 onerror				当加载文档或图像时发生某个错误
 
 onchage				用户改变域的内容
 onselect				文本被 选定
 onresize				窗口或框架被 调整尺寸
 onunload				用户 退出页面	

Array - String - Number - Boolean - Math - Date - RegExp - Events - Function


Function对象:全局属性和函数可用于所有内建的 JavaScript 对象。

顶层函数(全局函数):

parseInt() 解析一个 字符串并返回一个整数

console.log(parseInt('12.333'));				//12

parseFloat() 解析一个 字符串并返回一个浮点数

console.log(parseFloat('12.333'));				// 12.333

isNaN() 检查其参数是否是 非数字值

console.log(isNaN(33));							// false

Number() 把对象的值转换为数字

console.log(Number(true));						// 1

String() 把对象的值转换为字符串
console.log(String(false)); //false
isFinite() 检查某个值是否为 有穷大的数

console.log(isFinite(12));						//true

encodeURI() 函数可把 字符串作为 URI 进行编码
encodeURIComponent() 函数可把 字符串作为 URI 组件进行编码
decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码
decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码
escape()字符串进行编码。返回值:已编码的 string 的副本;

var test = 'Visit ()#';
var es = escape(test);				
console.log(es);				// Visit%20%28%29%23

unescape() 对由 escape() 编码的字符串进行解码

var unes = unescape(es);
console.log(unes);					//Visit ()#

eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
getClass() 函数可返回一个 JavaObject 的 JavaClass。

function对象方法:

 Function.caller 				调用当前函数的函数 			
 Function.arguments[] 			传递给函数的参数 
 Function.toString( ) 			把函数转换成字符串 
 Function.length 				已声明的参数的个数 
 Function.prototype 			对象类的原型 

关于call() , apply() , bind()

Function.call( ) 			将函数作为对象的方法调用 
Function.apply( ) 			将函数作为对象的方法调用
	apply:调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.apply(A, arguments);A对象应用B对象的方法。
	call:调 用一个对象的一个方法,用另一个对象替换当前对象。例如:B.call(A, [args1,args2]);A对象调用B对象的方法。					
存在的意义:实现(多重)继承
	call()、apply()bind() 这三个函数的第一个参数都是 this的指向对象
	bing() : 返回的是一个新的函数,必须调用才会被执行;
参数区别:
	第一个参数都是 改变this指向
	第二参数:
		call/bing:可以传入多个参数;
		apply:以 数组形式 传入参数;

Array - String - Number - Boolean - Math - Date - RegExp - Events - Function

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值