- 152 Maximum Product Subarray
烟雨醉尘缘
Givenanintegerarraynums,findthecontiguoussubarraywithinanarray(containingatleastonenumber)whichhasthelargestproduct.Example:Input:[2,3,-2,4]Output:6Explanation:[2,3]hasthelargestproduct6.解释下题目:求出一个整数数
- 春天的期盼1
sky信仰之名
“喂!死陈雨,不打死你老娘就不姓夏!”夏蓝瞪大了眼睛,追着陈雨一顿揍。“喂喂喂,打人不打脸啊!”陈雨哭丧着一张脸说“我的face啊!你知不知道,我的这张face可是全天下Numberone,打伤你赔得起吗?”夏蓝对着他的腿猛踢,说:“你给我说清楚了,我家TFBOYS哪里丑?说!”陈雨招架不住夏蓝的“洪荒之力”,说:“行行行,TFBOYS最帅了,帅到爆,帅到无法无天了行吧?”“这还差不多。”夏蓝拍拍
- LeetCode-268-丢失的数字
醉舞经阁半卷书
丢失的数字题目描述:给定一个包含[0,n]中n个数的数组nums,找出[0,n]这个范围内没有出现在数组中的那个数。进阶:你能否实现线性时间复杂度、仅使用额外常数空间的算法解决此问题?示例说明请见LeetCode官网。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/missing-number/著作权归领扣网络所有。商业转载请联系官方授权,非商
- Java-Script学习笔记-1
许我写余生ღ
JavaScript学习javascript前端
文章目录前言JavaScript基本介绍一、js的嵌入方法内嵌式外链式行内式二、js简单语法语句注释变量JavaScript保留关键字三、JavaScript作用域Javascrpt局部变量JavaScript全局变量四、运算符算术运算符比较运算符赋值运算符逻辑运算符五、JavaScript数据类型JavaScript如何判断数据类型数字类型(Number)字符串型(string)布尔类型(boo
- 【JS笔记】Java Script学习笔记
JavaScript输出语句document.write():将内容写入html文档console.log():将内容写入控制台alert():弹窗变量JS是弱类型语言,变量无类型var:全局变量,可重复声明let:局部变量,不可重复声明const:常量,不可重复声明数据类型number:数字。整数、浮点数、NaNstring:字符串。单引号:'Hello'双引号:"Hello"模板字符串:使用反
- 主流数据库语言语法对比
两圆相切
数据库
以下是五大数据库(MySQL、PostgreSQL、Oracle、SQLServer、SQLite)核心语法对比,涵盖DDL、DML、查询、函数、事务等全场景,包含底层原理差异和实用示例。##一、数据一、类型深度对比分类MySQLPostgreSQLOracleSQLServerSQLite整数TINYINT,INT,BIGINTSMALLINT,INT,BIGINTNUMBER(10)TIN
- Perl中的数组操作
Push返回数组中的个数pop返回数组中被Pop出的数,最后一个shift返回数据中删除的数字,第一个unshift返回数组长度,从第一个添加printjoin(':',unshift(@numbers,0,10));Map1.会遍历整个数组,并对数组的每个值调用函数,例如mapuc,@word,输出全大写2.$_表示数组的每一个值,例如@word=qw(abcdefg);printmap{$_}
- 高通camera架构 (一)
工作记录从JNI往下看JNI:frameworks/base/core/jni/android_hardware_camera.cppstaticJNINativeMethodcamMethods[]={{"getNumberOfCameras","()I",(void*)android_hardware_Camera_getNumberOfCameras},{"getCameraInfo","(
- day 24 |93.复原IP地址,78.子集,90.子集II
bindloy
算法
93.复原IP地址93.复原IP地址-力扣(LeetCode)classSolution{public:boolvalidNumber(stringsNumber){//“判断是否合格”if(stoi(sNumber)paths;voidrestoreIpAddresses(strings,intstart,stringpath,intdepth){if(start>=s.size()&&dept
- 2.3 前端-ts的接口以及自定义类型
许昌第一深情
前端前端java开发语言
接口接口定义:exportinterfacePerson{id:string,name:string,gender:number}接口引用:符号:意义是类型注解符号,声明变量类型,编译器可以进行类型检查。//导入的type前缀一定得加import{typePerson}from'...';letp:Person={id:'253465',name:'arfwf',gender:1};//或者复杂的
- 前端面试题总结——JS篇
又又呢
前端javascript开发语言
一、说说JavaScript中的数据类型?存储上有什么差别?1、数据类型基本类型number:数值类型十进制:letintNum=55八进制(零开头):letnum1=070十六进制(0x开头):lethexNum1=0xANaN:特殊数值,意为“不是数值”string:字符串类型boolean:布尔值,true或falseundefined:表示未定义null:空值symbol:是原始值,且符号
- 添加行号(python版)
添加行号#打开PyCharm,新建一个新的py文件,取名demo,生成demo.py文件lines_maxlenth=0#定义新的变量,储存最长的代码长度line_numbers=1#每次加一,代表当前正在添行号的位置code_in=open("demo.py","r").readlines()#打开demo.py文件,读取所有内容code_out=open("demo_new.py","w")#
- Python中列表与元组的操作
数据江湖
python开发语言列表与元组
目录一、列表1.定义2.遍历列表3.重复列表4.常用操作4.1.计数4.2.索引4.3.添加4.4.删除4.5.排序4.6.逆序5.成员运算符in二、元组1.定义2.常用操作2.1.索引2.2.计数三、列表与元组的区别总结一、列表1.定义列表(list)是Python中最常用的可变序列类型,用方括号[]表示,元素之间用逗号分隔。#创建列表empty_list=[]#空列表numbers=[1,2,
- 【两个数的最大异或值】LeetCode421.数组中两个数的最大异或值 && LeetCode2935.找出强数对的最大异或值Ⅱ
小鲈鱼-
数据结构算法c++leetcode
一、LeetCode421.数组中两个数的最大异或值https://leetcode.cn/problems/maximum-xor-of-two-numbers-in-an-array/描述:给你一个整数数组nums,返回nums[i]XORnums[j]的最大运算结果,其中0≤i≤j>k)==(num1>>k)否则该位就不能取到1,当前结果-1。具体代码如下:classSolution{pub
- 2021面试题——js面试题总结
yizhangzzzz
js面试题总结1.js的typeof返回哪些数据类型?alert(typeofnull)//objectalert(typeofundefined)//undefinedalert(typeofNaN)//numberalert(NaN==undefined)//falsealert(NaN==NaN)//falsevarstr="123abc"alert(typeofstr++)//number
- leetcode393. UTF-8 编码验证
wl1929
leetcode
classSolution{publicbooleanvalidUtf8(int[]data){intnumberOfBytesToProcess=0;for(inti=0;i=8?binRep.substring(binRep.length()-8):"00000000".substring(binRep.length()%8)+binRep;if(numberOfBytesToProcess=
- Leetcode 393. UTF-8 编码验证 C++
Want!
Leetcode393.UTF-8编码验证题目UTF-8中的一个字符可能的长度为1到4字节,遵循以下的规则:对于1字节的字符,字节的第一位设为0,后面7位为这个符号的unicode码。对于n字节的字符(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。这是UTF-8编码的工作方式:Char.number
- 基于FPGA的数字密码锁
阿智605
fpga开发notepad++
基于FPGA的数字密码锁顶层文件modulelock(inputclk,//时钟inputrst_n,//复位input[3:0]number_in,//输入inputkey_open1,inputkey_lock1,//inputkey_reset1,outputbeep,//蜂鸣器outputlock_flag,//锁标志位output[3:0]dtube_cs_n,//7段数码管位选信号ou
- ReactNative【实战】瀑布流布局列表(含图片自适应、点亮红心动画)
最终效果滚动到最底部实现原理使用绝对定位实现交错衔接图片自适应布局代码范例数据类型typings.d.tstypeArticleSimple={id:number;title:string;userName:string;avatarUrl:string;favoriteCount:number;isFavorite:boolean;image:string;};模拟数据mock/articleL
- RedHat高可用集群深度解析与优化
Sally璐璐
运维linux网络运维
一、RHCS核心组件深度解析1.Corosync(消息层)通信机制改进说明:Totem协议采用环形令牌传递机制,在10节点以下集群中使用UDP/IP组播(224.0.0.12),超过10节点建议改用UDP/UDP单播。典型配置示例:totem{version:2transport:udpuinterface{ringnumber:0bindnetaddr:192.168.1.0mcastport:
- 力扣刷题——位运算—只出现1次的数字
丢丢diu丢
力扣刷题思考leetcode
137.只出现一次的数字II(其他都出现了3次)题目分析1.每个整数都是32位的2进制;2.因为除了目标元素res外,其他元素都出现了3次,所以,其他元素们在同1个二进制位置上的加和sum对3取余因该是0,如果不是0,而是1,说明这是res所在的1;3.依次遍历32位,每1位都对nums数组中的元素求和classSolution{publicintsingleNumber(int[]nums){i
- Python爬虫实战:研究phonenumbers工具相关技术
ylfhpy
爬虫项目实战python爬虫开发语言phonenumbers
1.引言1.1研究背景与意义电话号码作为重要的联系方式,在现代社会中具有广泛的应用价值。在商业领域,企业需要准确识别客户电话号码的归属地和运营商信息,以便进行精准营销和客户服务;在社交网络分析中,电话号码可以作为用户身份识别和关系挖掘的重要依据;在公共安全领域,电话号码的快速分析有助于案件侦破和紧急救援。然而,电话号码的格式在全球范围内存在较大差异,不同国家和地区有不同的编码规则和书写习惯。例如,
- 22、鸿蒙学习——ArkTS中什么是对象字面量
青春路上的小蜜蜂
鸿蒙学习harmonyostypescript
在ArkTS中,对象字面量(ObjectLiteral)是一种通过简洁的语法直接创建类实例并初始化属性的方式,无需使用new关键字。1、基本概念与语法对象字面量通过花括号{}包裹属性名和值的键值对来创建对象,适用于需要快速初始化类实例的场景。例如:classPerson{name:string='';age:number=0;}//使用对象字面量创建实例letperson:Person={name
- Leetcode 1248. 统计「优美子数组」
文章目录题目代码(8.2首刷看解析)题目Leetcode1248.统计「优美子数组」代码(8.2首刷看解析)这个题可以用滑动窗口,也可以用前缀和,正好在刷前缀和专题,就用前缀和做了。前缀和类型的题都是搭配哈希表,[j...i]的个数用pre[i]-k==pre[j]来实现,用哈希表存储前缀pre[j]的数量funcnumberOfSubarrays(nums[]int,kint)int{mp:=m
- Flutter-完整开发实战详解(一、Dart-语言和-Flutter-基础)
2401_85122662
flutter
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》完整开源地址:https://docs.qq.com/doc/DSkNLaERkbnFoS0ZF基本类型var可以定义变量,如vartag=“666”,这和JS、Kotlin等语言类似,同时Dart属于动态类型语言,支持闭包。Dart中number类型分为int和double,其中java中的long对应的也是Da
- 探索Python融合地学:斗之气八段(数字、字符串、元组)
梧桐GIS
python开发语言空间分析制图
上次我们学习了Python的运算符,还没有学习的同学点击下面的链接学习:探索Python融合地学:斗之气七段(运算符)-CSDN博客今天我们要学习Python的数据类型,掌握好各类数据类型,是学好Python的基础。一、数字类型(Number)数字类型有整型、浮点型、复数型,以及布尔型(整型的子类)整型(int):代表整数,没有小数,可以使用int(x)将浮点型数转化为整数;浮点型(float):
- Python入门Day3
Zonda要好好学习
Pythonpythonwindows
Python的基础数据类型1.Python中提供了六种内置的数据类型,一般用于存储数据:–数值Number–字符串String–列表List–元组Tuple–字典Dictionary–集合Set2.Python中的数据类型可以做以下几个分类:–有序:可以使用下标(索引)访问元素–无序:不可以使用下标(索引)访问元素–可变:可以被修改–不可变:不可以被修改有序无序可变列表字典、集合不可变字符串、元组
- 3.5 const限定修饰符
尘世闲鱼
C++PrimerC++学习开发语言C++
节以魔法数字为引介绍了C++中的const限定修饰符的使用,主要分为两个部分:1、const修饰的变量;2、const修饰的指针const修饰的变量魔法数字(MagicNumber)是指在代码中直接使用的没有明确含义的常量数字,它们通常没有解释或说明,因此对代码的可读性、可维护性和可扩展性造成负面影响。例如,下列代码中的“3.14159”即为魔法数字。doublecalculateArea(dou
- web渗透sql注入1之access
合作小小程序员小小店
计算机网络性能优化网络攻击模型网络安全安全性测试
web渗透sql注入1之access环境搭建:win2003+asp+access数据库特性:access数据库没有root,不能读写文件,不能执行命令,只能借助字典得到数据注入方式:联合注入偏移注入注入过程:1)判断当前表有多少列,Howmushcolumnsnumber?id=1orderby23?id=1orderby52)获取数据库Getdatabase?id=1unionselect1,
- c语言中的数组I
xtmatao
C语言编程c语言
初试数组程序示例:计算用户输入的一串数字的平均数(以-1作为输入结束标志),并输出所有大于平均数的数字#includeintmain(){intx;doublesum=0;intcnt=0;intnumber[100];printf("请输入要计算平均数的数字:\n");scanf("%d",&x);while(x!=-1){number[cnt]=x;sum+=x;cnt++;scanf("%d
- 统一思想认识
永夜-极光
思想
1.统一思想认识的基础,才能有的放矢
原因:
总有一种描述事物的方式最贴近本质,最容易让人理解.
如何让教育更轻松,在于找到最适合学生的方式.
难点在于,如何模拟对方的思维基础选择合适的方式. &
- Joda Time使用笔记
bylijinnan
javajoda time
Joda Time的介绍可以参考这篇文章:
http://www.ibm.com/developerworks/cn/java/j-jodatime.html
工作中也常常用到Joda Time,为了避免每次使用都查API,记录一下常用的用法:
/**
* DateTime变化(增减)
*/
@Tes
- FileUtils API
eksliang
FileUtilsFileUtils API
转载请出自出处:http://eksliang.iteye.com/blog/2217374 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
- 各种新兴技术
不懂事的小屁孩
技术
1:gradle Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。
现在构建系统常用到maven工具,现在有更容易上手的gradle,
搭建java环境:
http://www.ibm.com/developerworks/cn/opensource/os-cn-gradle/
搭建android环境:
http://m
- tomcat6的https双向认证
酷的飞上天空
tomcat6
1.生成服务器端证书
keytool -genkey -keyalg RSA -dname "cn=localhost,ou=sango,o=none,l=china,st=beijing,c=cn" -alias server -keypass password -keystore server.jks -storepass password -validity 36
- 托管虚拟桌面市场势不可挡
蓝儿唯美
用户还需要冗余的数据中心,dinCloud的高级副总裁兼首席营销官Ali Din指出。该公司转售一个MSP可以让用户登录并管理和提供服务的用于DaaS的云自动化控制台,提供服务或者MSP也可以自己来控制。
在某些情况下,MSP会在dinCloud的云服务上进行服务分层,如监控和补丁管理。
MSP的利润空间将根据其参与的程度而有所不同,Din说。
“我们有一些合作伙伴负责将我们推荐给客户作为个
- spring学习——xml文件的配置
a-john
spring
在Spring的学习中,对于其xml文件的配置是必不可少的。在Spring的多种装配Bean的方式中,采用XML配置也是最常见的。以下是一个简单的XML配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.or
- HDU 4342 History repeat itself 模拟
aijuans
模拟
来源:http://acm.hdu.edu.cn/showproblem.php?pid=4342
题意:首先让求第几个非平方数,然后求从1到该数之间的每个sqrt(i)的下取整的和。
思路:一个简单的模拟题目,但是由于数据范围大,需要用__int64。我们可以首先把平方数筛选出来,假如让求第n个非平方数的话,看n前面有多少个平方数,假设有x个,则第n个非平方数就是n+x。注意两种特殊情况,即
- java中最常用jar包的用途
asia007
java
java中最常用jar包的用途
jar包用途axis.jarSOAP引擎包commons-discovery-0.2.jar用来发现、查找和实现可插入式接口,提供一些一般类实例化、单件的生命周期管理的常用方法.jaxrpc.jarAxis运行所需要的组件包saaj.jar创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法. w
- ajax获取Struts框架中的json编码异常和Struts中的主控制器异常的解决办法
百合不是茶
jsjson编码返回异常
一:ajax获取自定义Struts框架中的json编码 出现以下 问题:
1,强制flush输出 json编码打印在首页
2, 不强制flush js会解析json 打印出来的是错误的jsp页面 却没有跳转到错误页面
3, ajax中的dataType的json 改为text 会
- JUnit使用的设计模式
bijian1013
java设计模式JUnit
JUnit源代码涉及使用了大量设计模式
1、模板方法模式(Template Method)
定义一个操作中的算法骨架,而将一些步骤延伸到子类中去,使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。这里需要复用的是算法的结构,也就是步骤,而步骤的实现可以在子类中完成。
 
- Linux常用命令(摘录)
sunjing
crondchkconfig
chkconfig --list 查看linux所有服务
chkconfig --add servicename 添加linux服务
netstat -apn | grep 8080 查看端口占用
env 查看所有环境变量
echo $JAVA_HOME 查看JAVA_HOME环境变量
安装编译器
yum install -y gcc
- 【Hadoop一】Hadoop伪集群环境搭建
bit1129
hadoop
结合网上多份文档,不断反复的修正hadoop启动和运行过程中出现的问题,终于把Hadoop2.5.2伪分布式安装起来,跑通了wordcount例子。Hadoop的安装复杂性的体现之一是,Hadoop的安装文档非常多,但是能一个文档走下来的少之又少,尤其是Hadoop不同版本的配置差异非常的大。Hadoop2.5.2于前两天发布,但是它的配置跟2.5.0,2.5.1没有分别。 &nb
- Anychart图表系列五之事件监听
白糖_
chart
创建图表事件监听非常简单:首先是通过addEventListener('监听类型',js监听方法)添加事件监听,然后在js监听方法中定义具体监听逻辑。
以钻取操作为例,当用户点击图表某一个point的时候弹出point的name和value,代码如下:
<script>
//创建AnyChart
var chart = new AnyChart();
//添加钻取操作&quo
- Web前端相关段子
braveCS
web前端
Web标准:结构、样式和行为分离
使用语义化标签
0)标签的语义:使用有良好语义的标签,能够很好地实现自我解释,方便搜索引擎理解网页结构,抓取重要内容。去样式后也会根据浏览器的默认样式很好的组织网页内容,具有很好的可读性,从而实现对特殊终端的兼容。
1)div和span是没有语义的:只是分别用作块级元素和行内元素的区域分隔符。当页面内标签无法满足设计需求时,才会适当添加div
- 编程之美-24点游戏
bylijinnan
编程之美
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
public class PointGame {
/**编程之美
- 主页面子页面传值总结
chengxuyuancsdn
总结
1、showModalDialog
returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用window.showModalDialog函数打开一个IE的模式窗口时,用于返回窗口的值
主界面
var sonValue=window.showModalDialog("son.jsp");
子界面
window.retu
- [网络与经济]互联网+的含义
comsci
互联网+
互联网+后面是一个人的名字 = 网络控制系统
互联网+你的名字 = 网络个人数据库
每日提示:如果人觉得不舒服,千万不要外出到处走动,就呆在床上,玩玩手游,更不能够去开车,现在交通状况不
- oracle 创建视图 with check option
daizj
视图vieworalce
我们来看下面的例子:
create or replace view testview
as
select empno,ename from emp where ename like ‘M%’
with check option;
这里我们创建了一个视图,并使用了with check option来限制了视图。 然后我们来看一下视图包含的结果:
select * from testv
- ToastPlugin插件在cordova3.3下使用
dibov
Cordova
自己开发的Todos应用,想实现“
再按一次返回键退出程序 ”的功能,采用网上的ToastPlugins插件,发现代码或文章基本都是老版本,运行问题比较多。折腾了好久才弄好。下面吧基于cordova3.3下的ToastPlugins相关代码共享。
ToastPlugin.java
package&nbs
- C语言22个系统函数
dcj3sjt126com
cfunction
C语言系统函数一、数学函数下列函数存放在math.h头文件中Double floor(double num) 求出不大于num的最大数。Double fmod(x, y) 求整数x/y的余数。Double frexp(num, exp); double num; int *exp; 将num分为数字部分(尾数)x和 以2位的指数部分n,即num=x*2n,指数n存放在exp指向的变量中,返回x。D
- 开发一个类的流程
dcj3sjt126com
开发
本人近日根据自己的开发经验总结了一个类的开发流程。这个流程适用于单独开发的构件,并不适用于对一个项目中的系统对象开发。开发出的类可以存入私人类库,供以后复用。
以下是开发流程:
1. 明确类的功能,抽象出类的大概结构
2. 初步设想类的接口
3. 类名设计(驼峰式命名)
4. 属性设置(权限设置)
判断某些变量是否有必要作为成员属
- java 并发
shuizhaosi888
java 并发
能够写出高伸缩性的并发是一门艺术
在JAVA SE5中新增了3个包
java.util.concurrent
java.util.concurrent.atomic
java.util.concurrent.locks
在java的内存模型中,类的实例字段、静态字段和构成数组的对象元素都会被多个线程所共享,局部变量与方法参数都是线程私有的,不会被共享。
- Spring Security(11)——匿名认证
234390216
Spring SecurityROLE_ANNOYMOUS匿名
匿名认证
目录
1.1 配置
1.2 AuthenticationTrustResolver
对于匿名访问的用户,Spring Security支持为其建立一个匿名的AnonymousAuthenticat
- NODEJS项目实践0.2[ express,ajax通信...]
逐行分析JS源代码
Ajaxnodejsexpress
一、前言
通过上节学习,我们已经 ubuntu系统搭建了一个可以访问的nodejs系统,并做了nginx转发。本节原要做web端服务 及 mongodb的存取,但写着写着,web端就
- 在Struts2 的Action中怎样获取表单提交上来的多个checkbox的值
lhbthanks
javahtmlstrutscheckbox
第一种方法:获取结果String类型
在 Action 中获得的是一个 String 型数据,每一个被选中的 checkbox 的 value 被拼接在一起,每个值之间以逗号隔开(,)。
所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。
以下是实现的代码:
前台 HTML 代码:
- 003.Kafka基本概念
nweiren
hadoopkafka
Kafka基本概念:Topic、Partition、Message、Producer、Broker、Consumer。 Topic: 消息源(Message)的分类。 Partition: Topic物理上的分组,一
- Linux环境下安装JDK
roadrunners
jdklinux
1、准备工作
创建JDK的安装目录:
mkdir -p /usr/java/
下载JDK,找到适合自己系统的JDK版本进行下载:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
把JDK安装包下载到/usr/java/目录,然后进行解压:
tar -zxvf jre-7
- Linux忘记root密码的解决思路
tomcat_oracle
linux
1:使用同版本的linux启动系统,chroot到忘记密码的根分区passwd改密码 2:grub启动菜单中加入init=/bin/bash进入系统,不过这时挂载的是只读分区。根据系统的分区情况进一步判断. 3: grub启动菜单中加入 single以单用户进入系统. 4:用以上方法mount到根分区把/etc/passwd中的root密码去除 例如: ro
- 跨浏览器 HTML5 postMessage 方法以及 message 事件模拟实现
xueyou
jsonpjquery框架UIhtml5
postMessage 是 HTML5 新方法,它可以实现跨域窗口之间通讯。到目前为止,只有 IE8+, Firefox 3, Opera 9, Chrome 3和 Safari 4 支持,而本篇文章主要讲述 postMessage 方法与 message 事件跨浏览器实现。postMessage 方法 JSONP 技术不一样,前者是前端擅长跨域文档数据即时通讯,后者擅长针对跨域服务端数据通讯,p