1.event || e || window.event
用来区分IE和其他浏览器事件,兼容不同浏览器事件。
2.event.keyCode
按下的键的代码;为了使其能更具有普遍的兼容性,最好用event.keyCode || event.which
3.window.getSelection()和document.getSelection() :
获取光标选中的数据,屏幕取词;IE9以下支持:document.selection IE9、Firefox、Safari、Chrome和Opera支持:window.getSelection()
4.slice(start,end):
从已有的数组中返回选定的元素
5.indexOf()
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置
6.JS获取文本框焦点光标位置、选中起始位置、终止位置、选择内容:
selectionStart:选区开始位置;
selectionEnd:选区结束位置。
createTextRange(); //创建一个文本选区对象
moveStart("character",2); //左边界右移字符;第一个参数可选:character、word、sentence、textedit
moveEnd("character",2); //右边界
select()将选区对象的内容选中
collapse
7.oninput
事件在用户输入时触发 : 该事件在 <input> 或 <textarea> 元素的值发生改变时触发。
8.正则表达式
9.isEmpty(变量,变量,"String") :
第一个变量为空时,将字符串付给第二个变量
10.数组
push():向数组的末尾添加一个或更多元素,并返回新的长度
shift() :方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
concat():合并数组
splice() :方法向/从数组中添加/删除项目,然后返回被删除的项目。
遍历数组:
array.forEach((item,index,arr)=> {
})
简单的操作数组:
let numbers = [1, 2, 3, 4, 5];
let doubled = numbers.map(num => num * 2);
console.log(doubled); // 输出: [2, 4, 6, 8, 10]
11.charAt(index)
方法可返回指定位置的字符
12.e.target
target 属性规定哪个 DOM 元素触发了该事件,target 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。
13.offsetTop、offsetLeft
obj.offsetTop 相对于带有定位的父盒子的上边距离
obj.offsetLeft 相对于带有定位的父盒子的左边距离
14.event.pageX、event.pageY
鼠标指针的位置,相对于文档的左边缘,相对于body的位置。
15.e.offsetX、e.offsetY
offsetX 相对于带有定位的父盒子的x坐标
offsetY 相对于带有定位的父盒子的y坐标
16.clientX、clientY
点击位置距离当前body可视区域的x,y坐标.
17.$.fn
$.fn是指jQuery的命名空间,加上fn的方法及属性,会对jQuery实例有效。
18.eq()
获取指定索引的元素
19.stopPropagation()
终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点;阻止事件冒泡到父元素,阻止任何父事件处理程序被执行
20.特性:
JavaScript的一个重要的特性就是单线程执行模式。在JavaScript中,浏览器的JavaScript执行引擎在执行JavaScript代码时,总是以单线程模式执行,也就是说,任何时候,JavaScript代码都不可能同时有多于1个线程在执行;执行多任务实际上都是异步调用
异步执行的,也就是说,要通过回调函数获得响应。
21.函数
function functionName(){}:这是定义一个函数
functionName:function(){}:是设置一个对象的方法。
22.Promise
在异步执行的流程中,把执行代码和处理结果的代码清晰地分离;串行一系列异步计算
23.Element.requestFullscreen
进入全屏模式、exitFullscreen退出全屏模式
Fullscreen API:全屏操作 -- JavaScript 标准参考教程(alpha)
24.setTimeout()
用于在指定的毫秒数后调用函数或计算表达式
setTimeout('aaa',1000);
setTimeout(function (){console.log('aaa')},1000);
25.prototype
属性使您有能力向对象添加属性和方法;object.prototype.name=value
26.setInterval(code,millisec[,"lang"])
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
27.toFixed()
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字
28.event.preventDefault()/window.event.preventDefault()
event.preventDefault()方法是用于取消事件的默认行为,例如,当点击提交按钮时阻止对表单的提交。但此方法并不被ie支持,在ie下需要用window.event.returnValue = false; 来实现
代码如下:
function stopDefault( e )
{
if ( e && e.preventDefault ){
e.preventDefault();
} else {
window.event.returnValue = false;
}
}
29.contentDocument
属性能够以 HTML 对象来返回 iframe 中的文档;frameObject.contentWindow
30.getpixelcolor
得到指定位置的点的颜色 |
31.&& :某些情况下可当作switch语句使用
var n = 3;
(n == 1) && console.log(1);
(n == 2) && console.log(2);
(n == 3) && console.log(3);
( ! n ) && console.log("null");
等效于
var n = 3;
switch(n){
case1:
console.log(1);
break;
case2:
console.log(2);
break;
case3:
console.log(3);
break;
default:
console.log("null");
23.selectObject.options[]
option 集合可返回包含 <select> 元素中所有 <option> 的一个数组。
24.模块化编程
25.fromCharCode()
将 Unicode 编码转为一个字符
26.charCodeAt()
返回字符串字符的 Unicode 编码;使用场景:将输入的字符串转换成Unicode 编码,用来判断输入的是数字、英文、特殊符号等
27.使用h5新标准MediaRecorder API在web页面进行音视频录制
使用h5新标准MediaRecorder API在web页面进行音视频录制 - 云+社区 - 腾讯云
28.>>和>>>的区别
前者是有符号位移,后者是无符号位移;两者都是对二进制数进行操作
29.按钮绑定事件5种方法
1.
$("#btn").click(function(){
操作
})
2.
document.getElementById('#foo').addEventListener('click', function(){});
3.
<button type="submit" id="btn" οnclick="btn()">btn</button>
4.
$('#btn').bind('click', function();
5.
$("btn").on("click",function(){});
30.父页面和子页面通信,父页面使用iframe标签
父页面接受消息
window.addEventListener('message', function (msg) {
操作
},false);
子页面发送消息:
window.parent.postMessage(对象, '*');
31.cookie跨域问题
解决方案:Nginx、jsonp等
32.获取请求路径中的参数
location.search
33.监听浏览器窗口大小发生变化
window.onresize = function(){
操作
}
34.阻止元素发生默认的行为
event.preventDefault()
35.获取时间
const currentTime = new Date();
const year = currentTime.getFullYear();
const month = currentTime.getMonth() + 1; // 月份从0开始,因此需要加1
const day = currentTime.getDate();
const hours = currentTime.getHours();
const minutes = currentTime.getMinutes();
const seconds = currentTime.getSeconds();
console.log(year, month, day, hours, minutes, seconds);
36.获取当前日期前12个月
function getLast12Months() {
const currentDate = new Date();
var year = currentDate.getFullYear();
const currentMonth = currentDate.getMonth(); // 获取当前月份,从0开始
const last12Months = [];
for (let i = 0; i < 12; i++) {
const month = (currentMonth - i + 12) % 12; // 确保月份从0开始并且不会超过11
if (month == 11 &¤tMonth - i< 0){
year = year-1;
}
last12Months.unshift(new Date(year, month)); // 创建Date对象,使用1号来代表整个月
}
return last12Months;
}