js

js接受java后台元素为键值对的list的json数据

馋奶兔 提交于 2020-01-26 03:29:33
后台传递: public void f(HttpServletResponse response) { // ..... // AList = ['11', '22', '33']; // BList = [{'11', 11}, {'22', 22}, {'33', 33}]; //将要传递的数据包装成一个个的list Map map = new HashMap(); map.put("AList", AList); map.put("BList", Blist); //将map转成一个json对象 JSONObject frontSend = JSONObject.parseObject(JSON.toJSONString(map)); //设置字体 response.setCharacterEncoding("UTF-8"); try { response.getWriter().println(frontSend ); } catch (IOException e) { e.printStackTrace(); } } 前台接受: // ... success : function (result) { var resultJson = eval('(' + result+ ')'); var AList = resultJson.AList; var BList =

第五题,js实现一个克隆函数

﹥>﹥吖頭↗ 提交于 2020-01-26 03:28:29
let arr = [ 1 , 2 , 3 ] ; function copy ( obj ) { let newobj = null ; if ( typeof ( obj ) == 'object' && obj !== null ) { newobj = obj instanceof Array ? [ ] : { } ; for ( var i in obj ) { newobj [ i ] = copy ( obj [ i ] ) } } else { newobj = obj } return newobj ; } console . log ( copy ( arr ) ) // [1,2,3] 来源: CSDN 作者: 最有才的河南大汉 链接: https://blog.csdn.net/Jkssns/article/details/103943389

js keyup、keypress和keydown事件 详解

拟墨画扇 提交于 2020-01-26 03:24:49
js keyup、keypress和keydown事件都是有关于键盘的事件 当一个按键被pressed 或released在每一个现代浏览器中,都可能有三种客户端事件。 keydown event keypress event keyup event keydown事件发生在键盘的键被按下的时候,接下来触发 keypress事件。 keyup 事件在按键被释放的时候触发。 这三个事件在页面中的使用方法如下例: <input id="testkeyevent" name="testkeyevent" onKeyUp="keyup()" /> <input id="testkeyevent" name="testkeyevent" onkeypress="keypress()" /> <input id="testkeyevent" name="testkeyevent" onkeydown="keydown()" /> 对应的js函数: function keyup(){ ...} function keypress(){ ...} function keydown(){ ...} 注意: KeyDown触发后,不一定触发KeyUp,当KeyDown 按下后,拖动鼠标,那么将不会触发KeyUp事件。 KeyPress主要用来捕获数字( 注意:包括Shift+数字的符号 )、字母(

js中的DOM操作汇总

这一生的挚爱 提交于 2020-01-26 02:45:45
一、DOM创建 DOM节点(Node)通常对应于一个标签,一个文本,或者一个HTML属性。DOM节点有一个 nodeType 属性用来表示当前元素的类型,它是一个整数: Element,元素 Attribute,属性 Text,文本 DOM节点创建最常用的便是document.createElement和 document.createTextNode 方法: var node1 = document.createElement('div');var node2 = document.createTextNode('hello world!'); 二、DOM查询 // 返回当前文档中第一个类名为 "myclass" 的元素 var el = document.querySelector(".myclass"); // 返回一个文档中所有的class为"note"或者 "alert"的div元素 var els = document.querySelectorAll("div.note, div.alert"); // 获取元素 var el = document.getElementById('xxx'); var els = document.getElementsByClassName('highlight'); var els = document

js | javascript中获取dom元素的高度和宽度

戏子无情 提交于 2020-01-25 22:26:32
javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: document.body.offsetWidth (包括边线的宽) 网页可见区域高: document.body.offsetHeight (包括边线的高) 网页正文全文宽: document.body.scrollWidth 网页正文全文高: document.body.scrollHeight 网页被卷去的高: document.body.scrollTop 网页被卷去的左: document.body.scrollLeft 对应的dom元素的宽高有以下几个常用的: 元素的实际高度:document.getElementById("div").offsetHeight 元素的实际宽度:document.getElementById("div").offsetWidth 元素的实际距离左边界的距离:document.getElementById("div").offsetLeft 元素的实际距离上边界的距离:document.getElementById("div").offsetTop 来源: https://www.cnblogs.com/guanzelin

关于js中获取div中的数据

我与影子孤独终老i 提交于 2020-01-25 22:03:09
最近用js写了一个计算器的页面。基本上使用到了,ul li的几点用法。用来布局,并且创造出了很不错的鼠标悬停效果。 关于从中学到的知识: document.getelementbyid("ddhdh").innerHTML 可以获取到div中的全部数据,包括标签。。。但是只是在IE和OPERA中使用 document.getelementbyid("ddhdh").innerTEXT 可以获取到div中的文本数据,不会获取到标签。。。但是只是在IE和OPERA中使用 document.getElementById(“text”).textContent 用于在火狐中获取数据 上面的标签在这几钟基于两种浏览器的内核的浏览器,这几种方法是不兼容的。下面是解决方案 兼容火狐ie的js 获取div的内容 if(navigator.appName.indexOf(“Explorer”) > -1) var text = document.getElementById(“text”).innerText; else var text = document.getElementById(“text”).textContent; 用来获取浏览器的名称,第一句话的意思就是当获取到的浏览器的名称中带有Explorer。 涉及到indexof用法 strObj.indexOf(subString[,

js类(继承)(二)

时光毁灭记忆、已成空白 提交于 2020-01-25 20:03:13
1. 定义js类 js并不是一种面向对向的语言, 没有提供对类的支持, 因此我们不能像在传统的语言里那样 用class来定义类, 但我们可以利用js的闭包封装机制来实现js类, 我们来封装一个简的Shape类. 代码如下: function ShapeBase() { this.show = function() { alert("ShapeBase show"); }; this.init = function(){ alert("ShapeBase init"); }; } 这个类里定义了两个方法:show和init, 需要注意的是这里用到了this来声明, 而不是var, 因为用var是用来定义私有方法的. 另外, 我们还可以用prototype属性来定义Shape的方法. 代码如下: ShapeBase.prototype={ show:function() { alert("ShapeBase show"); }, init:function() { alert("ShapeBase init"); } }; 现在, 类是写好了, 让我们写个js来测试下, 看看结果是不是跟我们想象的一样呢? 代码如下: function test(src){ var s=new ShapeBase(); s.init(); s.show(); } 看到了吧, 其调用方式和C#一模一样,

js 类数组arguments详解

混江龙づ霸主 提交于 2020-01-25 18:10:53
arguments并不是一个真正的数组,而是一个“类似数组(array-like)”的对象; 就像下面的这段输出,就是典型的类数组对象: [12, 23, callee: ƒ, Symbol(Symbol.iterator): ƒ] 一、类数组 VS 数组 相同点: 都可用下标访问每个元素 都有length属性 不同点: 数组对象的类型是Array,类数组对象的类型是Object; 类数组对象不能直接调用数组API; 数组遍历可以用for in和for循环,类数组只能用for循环遍历; function calc(){ console.log(arguments); // ["sky", "moon", callee: ƒ, Symbol(Symbol.iterator): ƒ] console.log(arguments[0]); // sky console.log(arguments.length); // 2 // arguments.pop(); // 报错,arguments.pop is not a function } calc('sky', 'moon'); 类数组对象转为数组对象方法: Array . prototype . slice . call ( arguments ); function calc(){ var newArr = Array

day04 js 匿名函数 BOM中的操作 client offset scroll

一个人想着一个人 提交于 2020-01-25 17:57:39
day04 js 匿名函数 BOM中的操作 client offset scroll 一.匿名函数 1.匿名函数的自执行 1.1.在js中叫做闭包, 和python中的闭包不是一个事 1.2.为什么要用这个? 解决了全局污染的问题 1.3.什么是全局污染? 如果两个相同名字的变量a是两个js文件中的两个不同的功能, 我想同时使用这两个不同功能的a,就会出现压盖现象(就是全局污染) 1.4.语法: (function(){ ... })() (function (window) { var a = 111; window.$1 = a; })(window); (function (window) { var a = 222; window.$2 = a; })(window); console.log(window.$1); console.log(window.$2); 1.5.有个问题: 全局污染貌似不是函数的自执行解决的,而是相同名字不同功能的a重新赋值给了其他变量解决的 2.单例模式 单例模式: 当多个文件导入同一个模块时, 这个模块只会在内存中创建一次, 多个文件里的这个模块使用的是同一个内存地址: 如python中的导入模块 非单例模式: 如js中的new 二. BOM中的操作 1.client 客户端: 1.1.内容的可视区域:盒子里的内容区域 objDiv =

JS 之 图片编辑器插件

孤街浪徒 提交于 2020-01-25 16:52:57
今天跟大家分享下JS 之 图片编辑器插件的知识。 1 图片编辑器插件Filerobot Filerobot是一款js图片编辑器插件。Filerobot可以对图片进行修改尺寸,剪裁,旋转,以及使用内置的滤镜对图片进行过滤。 Filerobot-js图片编辑器插件的github网址为: 在页面中引入下面的文件: < script src = "js/filerobot-image-editor.min.js.js" > < / script > 2 初始化插件 filerbot的使用方法非常简单,实例化一个ImageEditor对象,然后通过它打开你想要编辑的图片即可。 const ImageEditor = new FilerobotImageEditor ( ) ; ImageEditor . open ( 'https://scaleflex.airstore.io/demo/stephen-walker-unsplash.jpg' ) ; 3 作为React组件使用 安装: $ npm install -- save filerobot - image - editor 使用: import React , { useState } from 'react' ; import { render } from 'react-dom' ; import