
JavaScript中级篇
Alecor
不要被对象、属性、方法所迷惑,最根本的是了解最基础的知识。
展开
-
最简单Promise实现,支持异步调用
最简单Promise实现,原文链接function Promise(excutor) { var self = this self.onResolvedCallback = [] function resolve(value) { setTimeout(() => { self.data = value self.onResolvedCallba...转载 2020-03-27 09:25:12 · 326 阅读 · 0 评论 -
ES6系列文章 异步神器async-await
原文链接:https://segmentfault.com/a/1190000011526612?utm_source=tag-newest关于异步处理,ES5的回调使我们陷入地狱,ES6的Promise使我们脱离魔障,终于、ES7的async-await带我们走向光明。今天就来学习一下 async-await。async-await和Promise的关系经常会看到有了 async-a...转载 2020-03-13 19:59:53 · 274 阅读 · 0 评论 -
JS中List转Tree,Tree转List
数据源准备let tree = [ { id: 1, pid: 'root', name: '1' }, { id: 2, pid: 1, name: '2' }, { id: 3, pid: 1, name: '3' }, { id: 4, pid: 'root', name: '4' }, { id: 5, pid: 4, name: '4' }, ...原创 2019-12-16 09:16:47 · 3770 阅读 · 1 评论 -
JS实现M*N的不重复组合
var result=[],points=['m1','m2','m3','m4'];points.forEach((p,index)=>{ result=[...points.slice(index+1,points.length).map(p2=>{return [p,p2]}),...result]})console.log(result)原创 2019-05-16 17:58:44 · 600 阅读 · 0 评论 -
JS对象转数组
var e = { 'A':{'a':0,'b':1},'B':{'a':0,'b':0}}; var t = Object.keys(e).map(function(t) { return e[t] })console.log(t)原创 2019-04-15 20:14:37 · 480 阅读 · 0 评论 -
JS保存对象或数组(数据引用)修改前和修改后的数据
在 JS 中有一些基本类型像是Number、String、Boolean,而对象就是像这样的东西{ name: ‘Larry’, skill: ‘Node.js’ },对象跟基本类型最大的不同就在于他们的传值方式。基本类型是按值传递,像是这样:在修改a时并不会改到bvar a = 25;var b = a;b = 18;console.log(a);//25consol...原创 2018-04-08 14:50:58 · 7317 阅读 · 0 评论 -
javasctipt通过高阶函数实现AOP
在JS中实现AOP,都是把一个函数动态的置入到另一个函数里面<!DOCTYPE html><html><head> <title></title></head><body>AOP操作<script type="text/javascript"&g原创 2017-10-12 17:59:39 · 517 阅读 · 0 评论 -
关于[].slice.call(arguments, 1)自己的思考
[].slice.call(arguments, 1) 可以看作是 Array.prototype.slice.call(arguments,1) 它是能够将具有length属性的对象转成数组,首先我们要明确一点就是两个东西,第一是slice方法; .slice() 方法可从已有的数组中返回选定的元素。var arr = new Array(3) arr[0...原创 2017-08-29 09:37:21 · 810 阅读 · 0 评论 -
通过原型继承创建新对象
window.onload = function(){var a = new Object();a.x = 1;a.y = 2;// var b = inherit({x:4,y:2})var b = inherit(a); console.log(b); // object对象console.log(b.x); // 1}// 通过原型继承创建新对象 function inheri原创 2017-07-21 09:26:02 · 335 阅读 · 0 评论 -
Jquery多种input操作方法集合
获取input的checked值是否为true:第一种:if($(“input[name=item][value=’val’]”).attr(‘checked’)==true) //判断是否已经打勾 –注:name即控件name属性,value即控件value属性第二种: 可以不指定属性值,因一组checkbox的value值都会保存其在数据库中对应的id,最好写成如下方式: if($(原创 2017-04-01 08:54:25 · 2225 阅读 · 0 评论 -
JS闭包问题分析
介于之前在网上看到很多关于javascript闭包的问题,今天刚好在学习vue的时候也用到了,借此机会做一个笔记,留下来以后也好重新复习一下,巩固一下基础知识;介绍一个东西之前,还是先要了解一下这是个什么?在认识闭包之前,需要了解一个变量作用域的问题;变量作用域无非是两种:全局变量和局部变量;var a='koala';function f(){ var b='alecor'; aler原创 2017-03-27 23:06:14 · 552 阅读 · 0 评论 -
JS如何判断一个对象是否为空
很简单,直接使用var ..in 判断对象是否存在所属关系;*注意一点 var…in.. 遍历的时候会把继承的属性计算在内;function judge(obj){ for(var i in obj){//如果不为空,则会执行到这一步,返回true return true; } return false;}原创 2017-03-24 11:04:00 · 810 阅读 · 0 评论 -
JS中arguments.callee用法及属性
//—————-arguments基本使用————————// -- -- -- -- --`` function argTest(a, b, c, d) { 这里写代码片` var numargs = arguments.length; // 实参个数 var expargs = argTest.length; // 形参个数。原创 2017-03-24 10:40:01 · 1961 阅读 · 0 评论 -
JS函数多个返回值
function getClientSize() { var a = h = 0; if (window.innerHeight) { a = window.innerWidth; h = window.innerHeight } else { if (document.documentElement && document.d原创 2017-02-27 20:22:16 · 1006 阅读 · 0 评论 -
JavaScript运算符的优化
在工作中的遇到了很多JS运算符上的问题,借此机会查阅了相关资料,重新巩固了一下基础知识。因此在这里记下今天的收获;言归正传,在日常前端开发中(本人主要是从事JavaWeb方向的),遇到了很多判断语句,但是这些语句写起来很冗长,所以想用另一种方式替代;例1:if else 和三元表达式的替换if ...else ... 表达式:if (expr1){ (expr2)}else{ (e原创 2017-02-21 21:27:07 · 547 阅读 · 0 评论 -
移动端touch事件
var touchEvent = {}touchEvent =function() { var self=this; /*单次触摸事件*/ self.tap=function(element, fn) { var startTx, startTy; element.addEventListener('touchstart', function(原创 2017-02-10 08:56:52 · 403 阅读 · 0 评论 -
JavaScript面试题
五个典型的JavaScript面试题 本文转载自:众成翻译 译者:cherryvenus 链接:http://www.zcfy.cc/article/1960 原文:https://www.sitepoint.com/5-typical-javascript-interview-exercises/在IT界,需要大量的javascript开发者。如果这个角色能够最佳地展现你的转载 2017-02-07 10:16:34 · 319 阅读 · 0 评论 -
webSocket简单聊天室(Java_Demo)
Java端(服务器端代码),注意Tomcat的版本。Tomcat从7.0.27开始支持WebSocket,从7.0.47开始支持JSR-356。下面的代码也必须运行在Tomcat7.0.27以上的版本。//该注解用来指定一个URI,客户端可以通过这个URI来连接到WebSocket。类似Servlet的注解mapping。无需在web.xml中配置。@ServerEndpoint("/webSoc原创 2017-01-08 17:01:39 · 677 阅读 · 0 评论 -
JavaScript原型和原型链
http://zhangjiahao8961.iteye.com/blog/2070650原创 2016-12-28 18:20:20 · 882 阅读 · 0 评论