- 博客(20)
- 收藏
- 关注
原创 使用 postMessage 解决 iframe 跨域通信问题
是挂载在window对象上的,所以等iframe加载完毕后,用iFrame.contentWindow获取到iframe的window对象,然后调用postMessage方法,相当于给子页面发送了一条消息。postMessage方法第二个参数可以设置要发送到哪个url,如果当前子页面的url和设置的不一致,则会发送失败,我们设置为*,代表所有url都允许发送。总结:所谓的跨窗口发送消息,就是通过在别的窗口操作本窗口发送消息,然后本窗口再自己接收的方式实现。首先我们模拟场景,假设有两个不同源的页面,
2023-04-07 15:11:15 4232
原创 SDK 和 API 的区别是什么?
不知道区别的人,大概率是你还没搞懂API、SDK是什么。讲个小故事:研发人员A开发了软件A,研发人员B正在研发软件B。有一天,研发人员B想要调用软件A的部分功能来用,但是他又不想从头看一遍软件A的源码和功能实现过程,怎么办呢?研发人员A想了一个好主意:我把软件A里你需要的功能打包好,写成一个函数。你按照我说的流程,把这个函数放在软件B里,就能直接用我的功能了!其中,API就是研发人员A说的那个函数。这就是API的诞生。日常生活中,我们有很多类似API的场景,比如:电脑需要调用手机里面
2021-01-13 17:49:41 719
原创 移动端弹出遮罩层后 禁止页面滚动
在开发移动web的时候,相信大家都会遇到当有 fixed定位遮罩层弹出时,在屏幕上滑动能够滑动背景下面的内容,这在大部分场景下都不是和友好的,解决方法如下:CSS overflow:hidden一般这种情况如果需要阻止滚动嘴简单的方法就是弹层弹出后,给body设置样式 overflow:hidden;在弹层隐藏的同时去掉加上的css, 不过这种并不适用与body的高度刚好是页面的高度,实际下层穿透滚动的元素是在body中的其他元素。 不能完全禁止,还是会有元素可以滚动。body{ overf
2020-12-29 14:41:20 2157
原创 export 和 export default 分别是什么
export命令用于规定模块的对外接口。一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。如果你希望外部能够读取模块内部的某个变量,就必须使用export关键字输出该变量。下面是一个 JS 文件,里面使用export命令输出变量。// profile.jsexport var firstName = 'Michael';export var lastName = 'Jackson';export var year = 1958;上面代码是profile.js文件,保存了用户信..
2020-10-29 16:09:24 738
原创 ES6之Set、Map集合
在ES5的时候,我们一般存储数据用啥?用数组,用对象,这是最常用的方式了,但是ES6之后,javascript增加了Set,Map,WeakSet,WeakMap数据结构,更加适合存储对象类型的数据。
2020-09-15 19:31:37 157
原创 学习ES6之Promise笔记(手写源码)
Promise是ES6中出现的,大家都知道,ES6被广泛应用于nodejs,promise出现的目的是解决Node.js异步编程中回调地狱的问题,promise本质上是一个构造函数。promise是异步编程的一种解决方案,ES6将其写进了语言标准。所谓promise就是一个容器,里面保存着未来才会结束的事件(通常是一个异步操作)的结果。
2020-09-12 13:25:50 150
原创 不会吧,不会吧,不愧是Ajax,jQuery Ajax啊
把嘴给我闭上,Ajax,有这篇文章就够了。本文主要介绍Ajax和jQuery Ajax的使用,并说明Ajax、jquery Ajax、Axioc、fetch的区别。
2020-09-02 21:02:00 975 2
原创 数组方法,总有一个是你不知道的
和同事讨论了好久,非得说他知道的数组API多,这下打脸了吧。文章包含了ES5和ES6常用的数组方法。包含源码,阅读即懂。
2020-08-31 19:21:30 2036 5
原创 几行代码写出中国地图
为了实现这个功能,我们需要用到一个技术ECharts,我们简单来了解一下ECharts是什么?ECharts是一款由百度前端技术部开发的,基于Javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。接下来开始我们激动人心的编程之旅了获取ECharts:我们首先要引入ECharts文件,我给大家提供两种方式文件引入 链接:https://pan.baidu.com/s/1nezp8Ezuy7Se2NdVIfqugw提取码:1122CDN<
2020-08-15 14:11:23 3459
原创 一目了然的深克隆,附带源码
JavaScript中的内存管理在JS中,每一个数据都需要一个内存空间。内存空间又被分为两种。栈内存(stock)堆内存(heap)堆栈空间分配区别:栈:由操作系统自动分配释放存放函数的参数值,局部变量的值等。简单数据类型存放到栈里面。堆:存储复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收。复杂数据类型存放到堆里面。注意:JavaScript中没有堆栈概念,通过栈堆的方式,可以让大家更容易理解代码的一些执行方式。
2020-08-13 11:04:06 372
原创 2天学会jQuery(day2)
公司新来的美女程序员看了一眼就夸好,根据自己长期的工作的经验,细心整理而成,原来你会发现jQuery如此简单,年薪20万的jQuery教程,你确定不来看看。附带各种解释源码。
2020-08-03 19:54:06 2355 5
原创 2天学会jQuery(day1)
公司新来的美女程序员看了一眼就夸好,根据自己长期的工作的经验,细心整理而成,原来你会发现jQuery如此简单,年薪20万的jQuery教程,你确定不来看看。附带各种解释源码。
2020-07-29 20:29:04 1431 9
原创 DOM继承关系,DOM继承树,DOM基本操作
你知道什么是DOM树吗?你知道什么是DOM继承关系吗?你知道DOM有哪些操作吗?你真的能够熟练运用DOM操作吗?本文图文形式带你重新认识DOM
2020-07-13 13:34:10 682
原创 详解JS异步加载的三种方式
我们都知道js是单线程的脚本语言,但是你知道js还有同步和异步吗?异步不等于多线程,但是可以模拟多线程。你知道异步在实战中的运用吗?你知道js异步编译的优势吗?
2020-07-08 11:35:37 1079
原创 精通预编译(预解析),含经典面试题
你知道为什么有的js代码运行出来的结果和你想象的相差甚远吗?你知道为什么做面试题的时候答案总是和你的不一样?可能这个时候涉及到了预编译,但是你真的知道什么是预编译吗?你知道预编译在面试题中的考察方式吗?
2020-07-06 19:19:42 565 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人