javascript 笔记

本文介绍了JavaScript中的一些关键技巧,包括判别对象属性、字符串与数组及JSON的转换、事件处理、数组操作、浮点数计算、圆形定位及角度计算等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

判读当前对象是否存在该属性

Object.hasOwnProperty("属性名");

字符串与数组的相互转换

Arrry.join(",");	// 数组转为字符串
String.split(",");	// 字符串转为数组

字符串与JSON的相互转换

JSON.parse(str);	// 字符串转为JSON
JSON.stringify(json);	// JSON转为字符串

阻止事件冒泡

event.stopPropagation();		// W3C版
window.event.cancelBubble = true;	// IE版

取消默认行为

event.preventDefault();			// W3C版
window.event.returnValue = false;	// IE版

Arrry数组常用操作函数

ArrObj1.concat(ArrObj2)		// 数组合并
ArrayObject.pop()		// 删除并返回数组的最后一个元素
ArrayObject.push(value)		// 向数组的末尾添加一个或更多元素,并返回新的长度
ArrayObject.shift()		// 删除并返回数组的第一个元素
ArrayObject.unshift(value)	// 向数组的开头添加一个或更多元素,并返回新的长度
ArrayObject.splice(index,length,newItem) // 从指定的位置开始删除,删除指定的长度,并插入新值,如果未有未值则只做删除操作,并返回被删除的项
ArrayObject.reverse()		//颠倒数组中元素的顺序

BOM window对象层级关系

window.self	// 是对当前窗口自身的引用。和( window,self )属性是等价的
window.top	// 返回顶层窗口,即浏览器窗口
window.parent	// 返回父窗口

浮点型数据计算

floatingCalculate(a, b) {
    let digit = a.toString().length >= b.toString().length ? a.toString().length : b.toString().length
    let m = Math.pow(10, digit)
    return Math.round((a + b) * m, 10) / m
}

圆形定位

圆形定位(根据三角形的正玄、余弦来得值)

/*
假设一个圆的圆心坐标是(a,b),半径为r,
则圆上每个点的X坐标=a + Math.sin(2*Math.PI / 360) * r;
Y坐标=b + Math.cos(2*Math.PI / 360) * r;

假设秒针的初始值(起点)为12点钟方向,圆心的坐标为(a,b)。
解决思路:一分钟为60秒,一个圆为360°,所以平均每秒的转动角度为 360°/60 = 6°;
*/
for(var times=0; times<60; times++) {
        var hudu = (2*Math.PI / 360) * 6 * times;
        var X = a + Math.sin(hudu) * r;
        var Y = b - Math.cos(hudu) * r;	/* 注意此处是“-”号,因为我们要得到的Y是相对于(0,0)而言的。 */
}

角度计算

角度计算(根据两点坐标计算)

getAngle(end, start) {
    let diff_x = end.pageX - start.pageX;
    let diff_y = end.pageY - start.pageY;
    return 360 * Math.atan(diff_y / diff_x) / (2 * Math.PI);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值