javaScript&ES6&jQuery

前言

工作中学习和使用过程中遇到的开发问题和发现

一、原生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事件多次初始化,造成点击一次,触发多次事件的问题,所以要先清空事件再添加:

    1
    2
    3
     $("#belongBtn").off("click").on("click",function() {
    self.belongYsxx();
    });
  • 控制台输出美化

    1
    console.log("%c[复用,id] " + id + ":", "color: blue;font-size:13px");

二、ES5/6

1. ES6

  1. 箭头函数()=>{ }
    ()中是放参数的,如果参数只有一个,那么()可以省略;并且如果() 中的直接作为返回值,那么{}也可以直接省略
       x => x*x
       上面的箭头函数相当于
           function(x){   return x*x;   }
  2. 常量:const PI=3.1415
  3. 作用域:实现作用域隔离 { }
  4. this:指向定义时的函数体
  5. 异步对象Promise: new Promise((resolve,reject)=>{ // 异步方法 }); 调用方获取到该对象,可继续.then
    点击传送

2. 其他

  1. let、var、const变量的区别

    • var:可以重复定义同一个变量名;没有块级别作用域;会自动提升作用域顶端;定义了就成为全局对象window的属性
    • let:同作用域内不可以重复定义同一个变量;有块级别作用域,会有暂时性死区,必须先声明才能使用;不会成为全局对象的属性(window)
    • const:常量,必须赋值且值不可变;修饰对象时,指向的对象不变,但对象内部的值(属性)可变;不会影响到window
    • const和let有很多的相同点,区别就是const赋值后不可变
      参考链接1参考链接2
    • 使用场景:默认使用const去定义全局变量;值需要改变使用let,替代var
  2. 异步变“同步”的方法,api调用方法后,再继续调用.then方法: api.getRyxx(()=>{}).then(()=>{});

  3. 数组包含数据的方法:arr.incluedes(“name”);

  4. 字符串方法

    1
    2
    // 替换
    str.replace("{{}}","res");

三、jQuery

1. 相关知识点

  1. select 下拉选择框的事件
1
2
3
4
5
<select id="mySelect">  
  <option value="1">one</option>
  <option value="2" selected="selected">two</option>
  <option value="3">three</option>
</select>
1
2
3
4
5
6
7
8
$(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+"";//页面跳转并传参
    })
})

  1. 删除子元素
1
2
3
$(".p").empty();	//不会删除自己		//删除内部所有子节点
$(".p").remove(); //会删除自己 //删除当前子节点(绑定的不能用)
$(".p").detach(); //会删除自己 //删除当前子节点(绑定的能用)
  1. 获取子元素中,所有被选中的复选框
1
$(".parent").find("input[type=checkbox]:checked")
  1. each 循环中,return false就是相当于continue,而return true就是相当于break
------ 本文结束感谢您的阅读 ------

本文标题:javaScript&ES6&jQuery

文章作者:MangoCheng

发布时间:2020年05月02日 - 17:29:44

最后更新:2020年05月02日 - 17:29:44

原始链接:http://mangocheng.com/posts/64851a14.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。