js
文章平均质量分 85
虎妞先生
北京理工大学毕业
展开
-
H5接入支付流程-微信支付&支付宝支付
业务场景:H5对接微信支付和支付宝支付,app无法发版,需要支持在app内和浏览器内同时使用。于是借此机会对前端接入对第三方支付进行了调研,本次只讨论微信支付,和支付宝支付。微信支付文档地址:微信支付概述微信支付方式主要包括,对普通商家主要提供以下7种方式付款码支付:比如大型连锁店,超市,支付时可以,扫描用户的个人付款码,进行支付,触动场景一般为:用户打开个人付款码->收银员扫描仪扫描->门店收银台->商户后台->微信支付系统JSAPI支付:仅限在微信内使用,可调用原创 2024-01-03 19:09:55 · 7665 阅读 · 4 评论 -
Javascript异步解决方案的发展历程
1.回调函数function f1(callback){ setTimeout(function(){ //f1的任务代码 callback(); },1000);}f1(f2);ajax('XXX1', () => { // callback 函数体 ajax('XXX2', () => { // callback 函数体 ...原创 2019-02-27 23:25:39 · 194 阅读 · 0 评论 -
调用堆栈
什么是执行上下文?js代码解析执行时所处的环境,顾名思义。全局执行上下文只有一个,浏览器中全局对象就是window对象,this指向全局对象函数执行上下文只有函数被调用时才会创建执行环境,可以有多个,多次。eval执行上下文js中不推荐用这个函数执行栈栈的结构,后进先出。先会创建一个全局的执行上下文,push到当前的执行栈顶,当调用新的函数则push新的函数执行上下文,当执行完后...原创 2018-12-17 19:07:06 · 194 阅读 · 0 评论 -
高性能Javascript读书笔记
第一章 加载和执行推荐将所有的第二章 数据存取访问字面量和局部变量的速度最快,访问数组元素和对象成员相对较慢访问局部变量比访问访问跨作用域变量更快,将常用的对象成员,数组元素,全局变量存储到局部变量,加快读写速度。第三章 DOM编程dom操作天生就慢,尽量减少dom操作,减少访问dom的次数。使用document.querySelect来做选择器,比其他方式快。需要多次访问...原创 2018-11-28 00:08:10 · 152 阅读 · 0 评论 -
Javascript中事件处理程序
1、在DOM中,直接用onXXX="fun();"进行绑定(HTML中直接绑定)事件绑定事件处理程序var fun = function(){…};移除事件处理程序fun = function(){}优点:简单方便缺点:js和html耦合度太高,每次修改函数要变动两个地方。 存在一个时差问题,用户可能会在HTML元素一出现就触发事件,但是事件处理程序...原创 2018-10-09 23:36:57 · 236 阅读 · 0 评论 -
Javascript运算符优先级和结合性
##先放上mdn上关于运算符优先级关联性的汇总表###下面的表将所有运算符按照优先级的不同从高到低排列。###有一道题(摘自你不知道的JS(中卷))var a =42;var b = "foo";var c = false;var d = a && b || c ? c || b ? a : c && b : a;d; //42####通过查询...原创 2018-10-08 23:45:44 · 346 阅读 · 0 评论 -
SVG和Canvas
Canvs和SVG都是前端绘图技术##SVG指可缩放矢量图形,是用于描述二维矢量图形的一种图形格式,是由万维网联盟制定的开发标准。SVG使用XML格式来定义图形。这意味着SVG DOM中的每个元素都是可用的. 所以可以为每个元素附加JavaScript事件处理器在SVG中, 每个被绘制的图像均被视为对象. 如果SVG对象的属性发生变化, 那么浏览器能够自动重现图像##Canvas一个...原创 2018-10-06 00:54:45 · 305 阅读 · 0 评论 -
Javascript数组方法总结
###检测数组array.isArray()###转换方法array.toString()array.valueOf()array.join()//join使用不同的分隔符来构建字符串//若不给join传入任何值,或者给它传入undefined,则使用逗号作为分隔符###栈方法array.push(“a”)array.pop()//调用pop()时,它会返回数组的最后一项...原创 2018-10-04 13:49:56 · 134 阅读 · 0 评论 -
Javascript字符串方法总结
###字符方法string.chartAt()srting.chartCodeAt()###字符串操作方法srting.concat()string.slice()string.substr()//第二个参数指定的是返回的个数//会把第二参数的负值转换为0string.substring()//都对原字符串没有影响//会把所有负值参数转换为0###字符串位置方法stri...原创 2018-10-04 13:49:27 · 251 阅读 · 0 评论 -
神奇的Javascript
>typeof NaN<"number"//not a number,但它是number type的,NaN 的检测 isNaN。>9999999999999999<10000000000000000//js整数精度15位>0.5 + 0.1 == 0.6<true//小数精度17位>0.1 + 0.原创 2018-10-03 22:58:44 · 437 阅读 · 0 评论 -
一道面试题
var a = {n : 1}; var b = a; a.x =a = {n : 2}; console.log(a.x); // undefinedconsole.log(b.x); // { n:2 }##解析###JS引用类型指针的工作方式 首先是a指向了一个对象{n:1},b指向了a所指向的对象 然后 a.x = a = { n:2 } j...原创 2018-10-02 23:07:09 · 125 阅读 · 0 评论