js代码

ArcGIS JS 4加载第三方矢量切片

廉价感情. 提交于 2019-12-08 09:15:47
    现在矢量切片越来越普及,对于地图渲染能更轻更快。ArcGIS JS 4.13可以实现加载第三方矢量切片,以下为代码示例,最下方是我之前切的建筑物数据。     当切片大小在1M左右,加载效果还是可以。不过跟mapbox gl相比还是有些逊色,mapbox gl可以加载6M大小的切片,但ArcGIS JS 4却不行。矢量切片还是需要控制好大小,这样才能快速传输和渲染。 var style = { "version": 8, "sources": { "osm": { "tiles": ["https://osm-lambda.tegola.io/v1/maps/osm/{z}/{x}/{y}.pbf"], "type": "vector" } }, "layers": [ { id: "land", type: "fill", source: "osm", "source-layer": "land", minzoom: 0, maxzoom: 24, paint: { "fill-color": "rgba(150, 150, 150, 1)" } } ], "id": "test" } require([ "esri/Map", "esri/views/MapView", "esri/layers/VectorTileLayer", "dojo/domReady!" ],

js中Boolean值为false和true的情况:

随声附和 提交于 2019-12-08 08:27:39
如果逻辑对象无初始值或者其值为 0、-0、null、""、false、undefined 或者 NaN,那么对象的值为 false。 否则,其值为 true(即使当自变量为字符串 "false" 时)! js下面的所有的代码行均会创建初始值为 false 的 Boolean 对象。 var myBoolean=new Boolean(); var myBoolean=new Boolean(0); var myBoolean=new Boolean(null); var myBoolean=new Boolean(""); var myBoolean=new Boolean(false); var myBoolean=new Boolean(NaN); js下面的所有的代码行均会创初始值为 true 的 Boolean 对象: var myBoolean=new Boolean(1); var myBoolean=new Boolean(true); var myBoolean=new Boolean("true"); var myBoolean=new Boolean("false"); var myBoolean=new Boolean("Bill Gates"); 注意:上面表中少了false,即false的Boolean的值还是false。 来源: CSDN 作者:

js对象的浅拷贝和深拷贝

拜拜、爱过 提交于 2019-12-08 04:50:01
对象复制分为深拷贝和浅拷贝。 浅拷贝只会将对象中的各个属性依次复制,而不会递归复制,因为js存储对象是存地址的,所以会造成复制对象和原对象指向同一内存地址。 浅拷贝的代码简单实现: var obj = { a: 1 , arr: [ 2 , 3 ] }; var shadowObj = shadowCopy(obj); function shadowCopy (src) { var dst = {}; for ( var prop in src) { if (src.hasOwnProperty(prop)) { dst[prop] = src[prop]; } } return dst;} 深拷贝是指对对象的递归复制,包括对象中的对象,看到一个深拷贝的代码实现 var cloneObj = function (obj) { var str, newobj = obj.constructor === Array ? [] : {}; if ( typeof obj !== 'object' ){ return ; } else if (window.JSON){ str = JSON .stringify(obj), //系列化对象 newobj = JSON .parse(str); //还原 } else { for ( var i in obj){ newobj[i] =

js二叉树实现

时光毁灭记忆、已成空白 提交于 2019-12-08 04:23:25
1 .简介 如上图所示: “8”为root节点( 根节点 ),“3”和“10”分别为“8” 的左子节点( 左子树 )和右子节点( 右子树 ), 这颗二叉树的 高度 为4层, “4”、“6”、“13”没有子节点(左右子树都没),也称为 叶子节点 , “8”的左子树“3”小于“8”,右子树“10”大于“8”;“3”的左子树“1”小于“3”,右子树“5”大于“3”,形如这种的二叉树称为 排序二叉树 。 2 .代码实现 <!DOCTYPE html> < html lang = " en " > < head > < meta charset = " UTF-8 " > < meta name = " viewport " content = " width=device-width, initial-scale=1.0 " > < meta http-equiv = " X-UA-Compatible " content = " ie=edge " > < title > js二叉树 </ title > </ head > < body > < script > // 二叉树构造函数 function BinaryTree ( ) { // 节点的构造函数 var Node = function ( key ) { this . key = key ; // 节点的值 this .

js中的键盘事件:onkeydown、onkeypress、onkeyup

≡放荡痞女 提交于 2019-12-08 02:15:42
相关代码: <!doctype html> < html > < head > <!--声明当前页面编码集(中文编码<gbk,gb2312>,国际编码<utf-8>)--> < meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" > < meta name = "keywords" content = "关键词,关键词" > < meta name = "description" content = "" > < title > html </ title > < style type = "text/css" > * { padding : 0 px ; margin : 0 px ; } </ style > </ head > < body > < input type = "text" id = "txt" /> < script > /* onkeydown----->键盘按下去的事件 onkeyup------->键盘抬起了的事件 radio checkbox focus(); */ var oTxt = document.getElementById( "txt" ); //oTxt.onkeyup = function(){ //alert(1); //alert(this

【前端面试】前端面试题300道~~熬夜吐血整理

蹲街弑〆低调 提交于 2019-12-08 01:48:06
人生也有涯 而知也无涯 以有涯随无涯 殆已! –庄子 部分内容转载自网络,侵立删!如有错误,请指正! 1、手写jsonp的实现 参考自: http://www.qdfuns.com/notes/16738/1b6ad6125747d28592a53a960b44c6f4.html 先说说JSONP是怎么产生的: 其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,着用自己的方式来阐释一下这个问题,看看是否有帮助。 1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准。 2、不过我们又发现,Web页面上调用js文件时则不受是否跨域的影响(不仅如此,我们还发现凡是拥有”src”这个属性的标签都拥有跨域的能力,比如script、img、iframe)。 3、于是可以判断,当前阶段如果想通过纯web端(ActiveX控件、服务端代理、属于未来的HTML5之Websocket等方式不算)跨域访问数据就只有一种可能,那就是在远程服务器上设法把数据装进js格式的文件里,供客户端调用和进一步处理。 4、恰巧我们已经知道有一种叫做JSON的纯字符数据格式可以简洁的描述复杂数据,更妙的是JSON还被js原生支持

2017最新前端面试题

时间秒杀一切 提交于 2019-12-08 01:45:46
HTML、CSS部分 要点:对Web标准的理解、浏览器差异、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端开发 技术等 Doctype作用? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义? (1)、 声明位于文档中的最前面,处于 标签之前。告知浏览器的解析器,用什么文档类型 规范来解析这个文档。 (2)、严格模式的排版和 JS 运作模式是 以该浏览器支持的最高标准运行。 (3)、在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。 (4)、DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。 行内元素有哪些?块级元素有哪些? 空(void)元素有那些? (1)CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,比如div默认display属性值为“block”,成为“块级”元素;span默认display属性值为“inline”,是“行内”元素。 (2)行内元素有:a b span img input select strong(强调的语气) 块级元素有:div ul ol li dl dt dd h1 h2 h3 h4…p (3)知名的空元素: 鲜为人知的是: CSS的盒子模型? (1)两种, IE 盒子模型、标准 W3C 盒子模型;IE

WebView播放html5视频和全屏。

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-08 00:57:55
2019独角兽企业重金招聘Python工程师标准>>> 首先需要在Activity或Applictaion中开启硬件加速。在Activity或Appliction加入 android:hardwareAccelerated="true" 开启硬件加速。开启后就可以播放视频,不过如果要播放全屏还得加入以下代码。 wvBrowser.getSettings().setJavaScriptEnabled(true);// 启用js wvBrowser.setWebChromeClient(chromeClient); WebChromeClient.CustomViewCallback mCallBack = null; View videoView; WebChromeClient chromeClient = new WebChromeClient() { public void onShowCustomView(View view, CustomViewCallback callback) { // 全屏是调用的方法 if (videoView != null) { callback.onCustomViewHidden(); return; } if (listener != null) { listener.onFullVideo(); } flVideo

解决html5 + js开发APP无法显示SVG问题(转化成canvas)

别说谁变了你拦得住时间么 提交于 2019-12-08 00:45:30
项目里用到了kendo UI DataViz的折线图、饼状图等去显示一些统计信息,这些图的显示用到了SVG。   现在最新的Chrome、Safari、Moz都支持了SVG标签,甚至是iPhone里的Safari都支持了SVG。   但是Android要到3.0版本及以上才支持SVG,如果不是3.0及更高版本,用户必须升级浏览器内核才能显示。   这里有个解决方案,可以将SVG转换为canvas再显示。用到了由google提供的canvg-1.2库。   具体解决方案实例:   首先探测浏览器是否支持SVG,这里借鉴了modernizr的判断方法。如果支持,这个函数返回true,反之false:   function testSVG(){   var ns = {'svg': 'http://www.w3.org/2000/svg'};   return !!document.createElementNS && !!document.createElementNS(ns.svg, 'svg').createSVGRect;   }   做出判断之后,就能动态的加载图像,如果支持SVG,直接用SVG标签就OK,反之就需要将SVG的标签转换为canvas再显示。   SVG转化成canvas就要用到canvg,可以到http://code.google.com/p/canvg/去下载

【译】统一样式语言

淺唱寂寞╮ 提交于 2019-12-08 00:37:19
原文地址: A Unified Styling Language 原文作者:本文已获原作者 Mark Dalgleish 授权 译文出自: 掘金翻译计划 译者: ZhangFe 校对者: JackGit , yifili09 , sunshine940326 , sunui 统一样式语言 在过去几年中,我们见证了 CSS-in-JS 的兴起,尤其是在 React 社区。但它也饱含争议,很多人,尤其是那些已经精通 CSS 的人,对此持怀疑态度。 "为什么有人要在 JS 中写 CSS? 这简直是一个可怕的想法! 但愿他们学过 CSS !" 如果这是你听到 CSS-in-JS 时的反应,那么请阅读下去。我们来看看为什么在 JavaScript 中编写样式并不是一个可怕的想法,以及为什么我认为你应该长期关注这个快速发展的领域。 相互误解的社区 React 社区经常被 CSS 社区误解,反之亦然。对我来说这很有趣,因为我同时混迹于这两个社区。 我从九十年代后期开始学习 HTML,并且从基于表格布局的黑暗时代就开始专职于 CSS。受 CSS 禅意花园 启发,我是最早一批将现有代码向 语义化标签 和层叠样式表迁移的开发者。不久后我开始痴迷于 HTML 和 JavaScript 的分离工作,在服务器渲染出来的页面中使用 非侵入式 JavaScript 同客户端交互。围绕这些实践