前言
工作中学习和使用过程中遇到的开发问题和发现
博客地址:芒果橙的个人博客 【http://mangocheng.com】
一、原生js
1. 新发现
-
删除对象属性:delete this.object.propertyName
-
splice(index,howmany[,item1,…item6]) 从数组中添加/删除项目: index–必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 howmany–必需。要删除的项目数量。 item–向数组中添加是新数据
-
图片上传:https://www.cnblogs.com/dearxinli/p/4717047.html
-
window.opener父窗口对象 ,如使用弹窗打开新窗口:Aparent打开新窗口Bson,Bson里使用则调用到了Aparent窗口对象
-
事件的传递:postMessage和addEventListener
-
js事件多次初始化,造成点击一次,触发多次事件的问题,所以要先清空事件再添加:
$("#belongBtn").off("click").on("click",function() { self.belongYsxx(); });
-
控制台输出美化
console.log("%c[复用,id] " + id + ":", "color: blue;font-size:13px");
二、ES5/6
1. ES6
- 箭头函数()=>{ }
()中是放参数的,如果参数只有一个,那么()可以省略;并且如果() 中的直接作为返回值,那么{}也可以直接省略
x => xx
上面的箭头函数相当于
function(x){ return xx; } - 常量:const PI=3.1415
- 作用域:实现作用域隔离 { }
- this:指向定义时的函数体
- 异步对象Promise: new Promise((resolve,reject)=>{ // 异步方法 }); 调用方获取到该对象,可继续.then
点击传送
2. 其他
-
let、var、const变量的区别
-
异步变“同步”的方法,api调用方法后,再继续调用.then方法: api.getRyxx(()=>{}).then(()=>{});
-
数组包含数据的方法:arr.incluedes(“name”);
-
字符串方法
// 替换 str.replace("{{}}","res");
三、jQuery
1. 相关知识点
- select 下拉选择框的事件
<select id="mySelect">
<option value="1">one</option>
<option value="2" selected="selected">two</option>
<option value="3">three</option>
</select>
$(document).ready(function(){
$('#mySelect').change(function(){
alert($(this).children('option:selected').val());
var p1=$(this).children('option:selected').val();//这就是selected的值
var p2=$('#param2').val();//获取本页面其他标签的值
window.location.href="xx.php?param1="+p1+"m2="+p2+"";//页面跳转并传参
})
})
- 删除子元素
$(".p").empty(); //不会删除自己 //删除内部所有子节点
$(".p").remove(); //会删除自己 //删除当前子节点(绑定的不能用)
$(".p").detach(); //会删除自己 //删除当前子节点(绑定的能用)
- 获取子元素中,所有被选中的复选框
$(".parent").find("input[type=checkbox]:checked")
- each 循环中,return false就是相当于continue,而return true就是相当于break