1. js查询excel
昨天刚做完 用的是XLSX, 选择文件的话用的是 open-file-dialog,当然也可以用原生的
xlsx
open-file-dialog
给些参考的代码
读取部分
就这样子了,挺简单了,不需要服务端,具体可以看下XLSX的浏览器兼容性列表和支不支持FileReader。
2. JS查询快递单号
这是宅急送快递公司的单号
3. JS查询有无交通银行app
打不开原因有:
1、交行网银正在升级,系统维护中所以服务不对外开发。
2、安全控件无法加载成功,或者是被IE阻止了。
3、页面js代码报错,导致页面无法加载。
解决办法:建议隔日或者换个机器再试,一般升级完都会有公告的。
4. JS查询百度地图县级兴趣点
准备页面
在正式开始开发地图应用之前,您需要做如下几步:
1 在高德地图官网注册一个账号
2 申请JSAPI的开发者Key
申请地址:
http://lbs.amap.com/dev/key
引入高德地图JavaScript API入口脚本:
<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&key=您申请的key值"></script>
创建地图容器
在页面body里你想展示地图的地方创建一个div 容器,并指定id标识:
<div id="container"></div>
指定容器大小
使用CSS为地图容器设置合适的大小,比如:
#container {width:300px; height: 180px; }
创建地图
做完简单的准备工作之后,就可以开始创建地图了.
按照默认属性创建地图
生成一副简单地图只需要一句代码,将我们刚刚创建的div的id传给Map的构造函数即可,这个时候API将根据用户所在的城市自动进行地图中心点和级别的设定:
var map = new AMap.Map('container');
设定地图的中心点和级别
我们一般需要给地图按需设定中心点和坐标等属性,这里可以通过两种方式,第一种,直接在地图初始化的时候传入相关属性,center属性的值可以使经纬度的二元数组,也可以是AMap.LngLat对象,要求经度值在前,纬度值在后:
var map = new AMap.Map('container',{
zoom: 10,
center: [116.39,39.9]});
也可以在地图初始化过后,任何需要的地方通过方法来改变地图的中心点和级别
var map = new AMap.Map('container');
map.setZoom(10);
map.setCenter([116.39,39.9]);
添加点标记
创建好地图之后,我们就可以在地图上添加点标记了,用来标注任何用户感兴趣的位置和信息,这里使用到了AMap.Marker这个类。
点标记的创建与添加
同地图一样,点标记可以在创建的时候设定位置等属性,如果设定了map属性的话,marker点将被立即添加到地图上:
var marker = new AMap.Marker({
position: [116.480983, 39.989628],
map:map
});
也可以在创建之后按需更改这些属性:
var marker = new AMap.Marker();
marker.setMap(map);
点标记的移除
移除的话,同样使用setMap方法,不传参数或者传入空参数:
marker.setMap();
添加信息窗体
我们也可以用信息窗体InfoWindow类来向用户展示一些更详细的信息,比如点击一个点标记后,通过信息窗体来展示这个点标记在哪里
信息窗体的创建与设定
信息窗体一样可以在创建的时候设定内容、偏移量、大小等属性,offset是信息窗体的锚点以position为基准位置的像素偏移量,content除了使用字符串的形式外也可以直接设定为某个创建好的DOM节点:
var infowindow = new AMap.InfoWindow({
content: '<h3>高德地图</h3><div>高德是中国领先的数字地图内容、导航 和位置服务解决方案提供商。</div>',
offset: new AMap.Pixel(0, -30),
size:new AMap.Size(230,0)
})
也可以在创建之后按需更改这些属性:
infowindow.setSize(new AMap.Size(150,50));
var contentDiv = document.createElement('div');
contentDiv.innerText='我是信息窗体';
infowindow.setContent(contentDiv);
如何打开信息窗体
我们可以在信息窗体创建之后立即调用其open方法将它显示在需要的位置:
infowindow.open(map,new AMap.LngLat(116.480983, 39.989628));
也可以通过事件监听,在需要的时候才将信息窗体显示出来,比如在marker被单击的时候显示
var clickHandle = AMap.event.addListener(marker, 'click', function() {
infowindow2.open(map, marker.getPosition())
})
当不再需要点击marker显示信息窗体这个功能的时候,可以通过如下方式移除事件绑定
AMap.event.removeListener(clickHandle);
使用高级信息窗体
除了普通的信息窗体,我们还提供了封装了周边搜索和路线规划功能在内的高级信息窗体,要使用高级信息窗体,首先需要通过plugin方法加载该插件,然后就可以和普通信息窗体一样进行创建和打开了。如果为高级信息窗体制定了panel属性,将在以panel的值为id的div上显示周边搜索或者路线规划的结果,如果需要对高级信息窗体和panel内容的样式进行修改,可以对相应classname的css进行重写:
AMap.plugin('AMap.AdvancedInfoWindow',function(){
var infowindow = new AMap.AdvancedInfoWindow({
content: '<h3 >高德地图</h3>'+
'<div >高德是中国领先的数字地图内容、'+
'导航和位置服务解决方案提供商。</div>',
offset: new AMap.Pixel(0, -30),
asOrigin:false
});
infowindow.open(map,new AMap.LngLat(116.480983, 39.989628));
})
添加工具条和比例尺
高德地图JSAPI提供了大量丰富的功能控件和服务插件,下面我们来给上面做好的地图添加两个常用的控件,工具条和比例尺。
添加
添加控件的时候首先需要加载插件,同时需要多个插件的时候第一个参数可以设定为控件名称的数组
AMap.plugin(['AMap.ToolBar','AMap.Scale'],function(){
//TODO 创建控件并添加
})
在回调函数里我们来进行控件的生成和添加:
AMap.plugin(['AMap.ToolBar','AMap.Scale'],function(){
var toolBar = new AMap.ToolBar();
var scale = new AMap.Scale();
map.addControl(toolBar);
map.addControl(scale);
})
移除
要移除控件的时候调用地图的removeControl方法即可
5. js查询数组中是否包含某个元素
一般老说,用countif、find、mid、substitute都可以对一个数组中是否存在某元素作出判断。
上传带行列号的有数据示例的表格截图,清楚说明已知条件,达成什么样的结果,才能给你准确的答案。
6. JS查询对象
基本数据类型有:数字(number),字符串(string),布尔(boolean),NULL和undefined
检测方法使用js的typeof类型进行数据类型判断,返回的对象分别是:
1:数字的返回类型是Number,判断条件是为:typeof 需要判断的数字 == Number,则表示这个数是一个数字类型;
2:字符串的返回类型是String,注意这里所有返回的值是一个字符串,并且首字母大写;
3:布尔返回的类型是Boolean,表示数据的真假
4:Null的返回类型是Object,所以这里判断null对象则不能使用typeof进行判断,需要用instance of条件进行判断
5:undefined返回类型是undefined,表示变量未定义。
7. js查询字符串是否包含
var str = "hello 1";
if(str.indexOf("1") !== -1){
alert("exist");
}
var str = "hello 2";
if(str.includes("2")){
alert("exist");
}
8. JS查询字符串
使用 typeof 属性,可以返回变量的类型如:<script type="text/javascript"> var a = 12; //alert(typeof a); //number a = "asdf"; //alert(typeof a); //string a = true; //alert(typeof a); //boolean a = function() { alert("adfasdf"); }; //alert(typeof a); //function a = document; //alert(typeof a); //object var b; alert(typeof b); //undefined </script>变量a在前面赋值,后面的注释就是相应的类型
9. JS查询表格里的某一内容
Function kbyy(a) '跨表引用.工作表序号差值,行号,列号Application.VolatileIf a = 0 Then '循环引用kbyy = "参数错误"GoTo jsEnd Ifx = Application.ThisCell.Worksheet.Index + a '公式所在工作表的序号If b = 0 Then '所在单元格的行号b = Application.ThisCell.RowEnd IfIf c = 0 Thenc = Application.ThisCell.ColumnEnd Ifkbyy = Worksheets(x).Cells(b, c).Valuejs:End Function一般用法:=kbyy(-1)返回值:对上一张工作表相同位置的引用.引用对象:文本的,返回文本数字的,返回数字空值,返回0
10. JS查询一个对象的构造函数使用什么属性
JS逆向需要的基础共有十二条,分别是:
1. 每个函数都有 prototype 和 __proto__
2. 每一个对象/构造函数实例(这个也是对象)都有 __proto__
3. 实例的 __proto__ 指向构造函数的 prototype。这个称为 构造函数的原型对象
4. js 引擎会沿着 __proto__ -> ptototype 的顺序一直往上方查找,找到 window.Object.prototype 为止,Object 为原生底层对象,到这里就停止了查找, 如果没有找到,就会报错或者返回 undefined
5. 而构造函数的 __proto__ 指向 Function.prototype ƒ () { [native code] } 【构造器函数,但这个叫法 并不准确,它目前没有一个合适的中文名】
6. __proto__是浏览器厂商实现的,W3C规范中并没有这个东西
7. JS 代码还没运行的时候,JS 环境里已经有一个 window 对象了。函数是对象
8. window 对象有一个 Object 属性,window.Object 是一个函数对象
9. window.Object 这个函数对象有一个重要属性是 prototype
10. window.Object.prototype 里面有一堆属性
11. 所有的实例函数__proto__都会 指向构造函数的 prototype
12. constructor 是反向的 prototype
- 相关评论
- 我要评论
-