JavaScript 是属于网络的脚本语言;
这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。
JavaScript 是一种轻量级的编程语言。
JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
字符串、数字、布尔、数组、对象、Null、Undefined
原始数据类型有5大类:Undefined,Null,Boolean,Number,String
JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:
实例var x // x 为 undefinedvar x = 6; // x 为数字var x = "Bill"; // x 为字符串
JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:
实例var x1=34.00; //使用小数点来写var x2=34; //不使用小数点来写
JavaScript 数组;下面的代码创建名为 cars 的数组:
var cars=new Array();cars[0]="Audi";cars[1]="BMW";cars[2]="Volvo";或者 (condensed array):var cars=new Array("Audi","BMW","Volvo");或者 (literal array):实例var cars=["Audi","BMW","Volvo"];
JavaScript 对象
var person={firstname : "Bill",lastname : "Gates",id : 5566};
Undefined 和 Null
Undefined 这个值表示变量不含有值。
可以通过将变量的值设置为 null 来清空变量。实例cars=null;person=null;
声明变量类型
当您声明新变量时,可以使用关键词 "new" 来声明其类型:
var carname=new String;var x= new Number;var y= new Boolean;var cars= new Array;var person= new Object;JavaScript 变量均为对象。当您声明一个变量时,就创建了一个新的对象。
未定义:Undefined:表示变量声明了,未赋初始值;Null属于Object类型在文档中找不到某个元素的时候则为Null;==:表示比较值;===:表示比较值和类型;变量声明时不加var如:a=1;这是全局变量;变量声明时加var如:var a=1;这是局部变量;在JavaScript中可以自动转换数据类型
javaScript代码在html里面执行方式:
1.直接在标签中通过实践执行JavaScript代码2.在网页中任何地方直接嵌套使用JavaScript代码
JavaScript函数有两种:
1.命名函数 function test(){ document.write("命名函数hello"); }2.匿名函数函数本身也是一个值,值就可以出现在=的右边 var test = function(){ document.write("匿名函数test"); } var p = { name:"zhangsan", eat:function(){ alert('eat'); } }
isNaN()如果是一个数字返回false;不是数否则返回true;
javascript中的运算符跟java中的使用一样
条件语句
通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该任务。在 JavaScript 中,我们可使用以下条件语句:if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码 if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码 if...else if....else 语句 - 使用该语句来选择多个代码块之一来执行 switch 语句 - 使用该语句来选择多个代码块之一来执行
JavaScript 支持不同类型的循环:
for - 循环代码块一定的次数 for/in - 循环遍历对象的属性 while - 当指定的条件为 true 时循环指定的代码块 do/while - 同样当指定的条件为 true 时循环指定的代码块
break 语句可用于跳出循环。
一、JS基础
1. js里的null和undefined的区别
undefined表示未定义,null表示对象为空。
null是undefined衍生出来的值,因此两者用==比较是相等的。
2. undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:
(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined
3. setTimeout和setInterval方法的区别
相同点:都是异步操作,都是计时器功能, 区别:setTimeout只执行一次 setInterval每隔固定时间执行一次
setTimeout可递归调用自身实现setInterval效果
4. js中eval函数的功能
eval() 函数可计算某个字符串,并执行其中的的 JavaScript
代码 如:
var str = '2 + 3'
console.log(eval(str));
5. 一个方法没有传参,调用的时候再传参行不行,怎么传
函数其实是不需要形参的,函数内部要用的参数都保存在arguments里,所以只需要在arguments里取
function add(){
var sum = 0;
for(var i = 0 ; i < arguments.length ; i++){
sum += arguments[i];
}
return sum
}
console.log(add(3,5,7,9));
6. 分割字符串方法
split();
7. 带字符串的数组如何排序
ary.sort(function(a,b){return a - b});
8. 列出数组对象方法,并描述功能,至少4个
push
pull
shift
unshift
splice
join
reverse
9. 说说 JS return
用于函数执行后返回结果。
10. ‘==’和‘===’
==不判断类型,===要判断类型。
11. 什么是伪数组,如何将伪数组转换为真数组
具备数组的形式,已经length属性,但是不具备数组的其他方法
转为数组的方法:
(1)定义一个空数组,for循环伪数组,依次push到空数组
(2)Array.prototype.slice.call(伪数组),调用数组的slice方法
12. URL标准格式,其中包括哪几个部分
URL由三部分组成:协议类型,主机名和路径及文件名
(1)协议:一般是http、https、file等
(2)主机名hostname:是指存放资源的服务器的域名系统 (DNS) 主机名或 IP 地址
(3)port(端口号)
(4)路径
(5);parameters(参数) 这是用于指定特殊参数的可选项
(6)?Query查询 可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技术制作的网页)传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。
(7)fragment 信息片段,用于指定网络资源的片段
13. document.write和innerHTML有什么区别
document.write是直接写入到页面的内容
innerHTML则是DOM页面元素的一个属性,代表该元素的html内容。你可以精确到某一个具体的元素来进行更改。
innerHTML很多情况下都优于document.write,其原因在于其允许更精确的控制要刷新页面的那一个部分。
14. 平时是怎么调试js的
(1)console.log();
(2)sources:断点调试;
15. 怎么选择相邻兄弟元素
previousSibling与nextSibling
16. DOM和BOM区别
DOM:文档对象模型。用于获取、操作节点对象。
BOM:操作浏览器的属性和行为。
17. typeof 是什么意思
检测变量类型,将变量的类型信息当做字符串返回,
返回值可以有六种:number、string、boolean、object、function、undefined
18. window.location.href 与window.location.replace 的区别?
window.location.href切换以后可以回退到原页面。
window.location.replace切换以后不能回退原页面。
19. JS有哪些内置的对象
内置对象:指一种语言自带的一些对象,供开发者使用,这些对象提供了一些常用或最基本必要的功能
Js内置对象有:Array,Number,String,Boolean,Date,Math,Functions,RegExp,Global,Events, Object
20. 如何判断一个变量是属于哪种类型,有几种方式,区别是什么,各自怎么使用的。
(1)typeof
(2)intanceof
(3)Object.prototype.toString.call(), 调用顶层对象Object的toString方法,而不是每个对象自身的toString方法
console.log(Object.prototype.toString.call(""));
console.log(Object.prototype.toString.call(1));
console.log(Object.prototype.toString.call(true));
console.log(Object.prototype.toString.call(new Date()));
console.log(Object.prototype.toString.call([]));
21. 什么是JSON?
(1)JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
(2)JSON 是轻量级的文本数据交换格式
(3)JSON 独立于语言
(4)JSON 具有自我描述性,更易理解
(5)JSON 使用JavaScript语法来描述数据对象,但是JSON仍然独立于语言和平台。JSON解析器和JSON库支持许多不同的编程语言。
22. js怎么将一个object对象转换成json字符串?怎么将字符串转化为对象?
对象转JSON字符串:JSON.stringify()(要转换的object对象);
JSON字符串转对象:JSON.parse();
23. arguments是什么,怎样理解?
(1)argument是js的一个内置对象
(2)每个函数都有arguments对象
(3)其表现是一个伪数组,以伪数组的形式保存函数的实参
24. 简述同步和异步的区别?
JavaScript是单线程的。
同步:指程序的下一步执行依赖上一步执行的结果,等上一步执行完毕得到结果后,再往下执行,任务执行的顺序与其排列顺序是一致的,会阻塞程序的执行,
异步:多个任务是同时执行的,当任意一个任务得到结果后,会调用预先设置好的回调函数,回调函数会依次进入任务队列,当主线程执行完成后会执行任务队列里的任务。异步操作不会影响主线程的执行,不会阻塞程序
异步是非常重要的,在浏览器端,那些耗时很长的任务,比如ajax,应该用异步操作,在服务器端,一般都是异步加回调的模式,处理同时的多个http请求,如果是同步请求,服务器的性能就会非常低,经常卡死
25. 事件委托的原理
事件委托技术—利用事件冒泡机制,将监听器添加到父节点上,来避免对每个节点添加监听器,事件监听器会分析从子元素冒泡上来的事件,找到对应的子元素
26. 事件绑定与普通事件的区别?
οnclick=‘xxx’同一个事件只能绑定一个,后面覆盖前面,可以兼容浏览器。
addEventListener(‘click’,function(){},false) 同一时间可以绑定多次,依次执行,有兼容性问题。
27. 什么是事件流,事件流有哪些,Firefox和IE各自支持哪些事件流。
事件流:页面产生事件时,事件传播的方向。
分为:冒泡事件、捕获事件。
DOM浏览器:使用冒泡+捕获。
IE浏览器:使用冒泡。
28. 冒泡事件与捕获事件
(1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。
IE 5.5: div -> body -> document
IE 6.0: div -> body -> html -> document
Mozilla 1.0: div -> body -> html -> document -> window
(2)捕获型事件(event capturing):事件从最不精确的对象(document 对象)开始触发,然后到最精确(也可以在窗口级别捕获事件,不过必须由开发人员特别指定)。
(3)DOM事件流:同时支持两种事件模型:捕获型事件和冒泡型事件,先捕获再冒泡。两种事件流会触及DOM中的所有对象,从document对象开始,也在document对象结束。
DOM事件模型最独特的性质是,文本节点也触发事件(在IE中不会)。
支持W3C标准的浏览器在添加事件时用addEventListener(event,fn,useCapture)方法,基中第3个参数useCapture是一个Boolean值,用来设置事件是在事件捕获时执行,还是事件冒泡时执行。而不兼容W3C的浏览器(IE)用attachEvent()方法,此方法没有相关设置,不过IE的事件模型默认是在事件冒泡时执行的,也就是在useCapture等于false的时候执行,所以把在处理事件时把useCapture设置为false是比较安全,也实现兼容浏览器的效果
29. 如何阻止事件冒泡的默认事件?
事件冒泡:现代浏览器:e.stopPropagation() IE:e.cancleBubble = true
默认事件:现代浏览器:event.preventDefault() 和 return false IE:e.returnValue = false
30. “use strict”是什么意思?使用它的好处和坏处?
严格模式:是ES5新增的js运行模式,使js在更严格、更规范化的模式下运行
好处:(1)消除JS这门语言本身存在的不合理、不严谨之处,使代码更规范,减少一些怪异行为
(2)在该模式下一些糟糕的特效会被禁用,如with,函数必须声明在顶层,arguments、callee不允许使用,
(3)消除一些代码不安全之处,eval()执行与正常模式下不同等
(4)提高编译器效率,增加运行速度,为未来新版本的js作铺垫
所以:"严格模式"体现了Javascript更合理、更安全、更严谨的发展方向. 为了达到更为普遍的兼容性, 我们应该总是在严格模式下编写代码.
坏处:(1)兼容性问题,IE6789均不支持
(2)团队合作问题,有些模块是正常模式,有些是严格模式,会出现问题,解决:统一规范模式,或将不同模块写入不同的立即执行函数,每个函数加上严格和非严格
31. this对象的理解,this是怎么工作的
this是JS的一个关键字,它的值是可变化的,它的取值是在函数调用的时候,产生的上下文环境里取得,不是在声明时候取得,根据函数的调用不同会产生不同的上下文环境,this的值也就随之改变,归根结底,谁调用它就指向谁
this的工作:object对象调用函数,就指向object对象,window调用函数就指向window,call和apply调用就指向括号里的对象,bind将this固化到括号里的对象
32. 什么是闭包?为什么使用它?
闭包是一个访问自由变量的函数。它的形成有两个条件。1.函数内部必须访问外部变量。2.该内部函数被外部引用。
闭包可以将局部变量持续保存。缺点,过多的使用会导致内存占用过高。
33. 原生JS中怎么创建,插入,删除?(就是操作dom)
创建:var p1 = document.createElement('p');
赋值:p1.innerHTML = 'nice to see you'
插入:document.getElementById('div1').appendChild(p1)
删除:div1.removeChild(p1)
34. jQuery中怎么创建,插入,删除?(就是操作dom)
内部:插入:append,appendTo后插入,prepend和prependTo前插入 外部:after、before、insertAfter、insertBefore
删除:empty和remove
35. JS查找DOM节点的方法?对应的Jq写法?
document.getElementsByTagName('li') //JQ $(‘li’)
document.getElementById('div1') //JQ $(‘#div1’)
document.getElementsByClassName('aa') //JQ $(‘.aa’)
document.getElementsByName('zhansan'); //JQ $('input[name="zhansan"]')
document.querySelector('.abc a p>span') //直接用css复合选择器 //JQ $(‘.abc a p>span’)
document.querySelectorAll('.abc') //返回.abc的子元素数组 //JQ $(‘.abc’)
36. 原生JS的window.onload 与 jquery的$(document).ready(function)有什么不同?
(1)执行时机
window.onload:会在页面所有元素加载完成后才会执行,如图片,视频等元素
jquery的ready: 会在DOM结构绘制完毕后生成DOMContentLoaded 事件时就执行
(2)可执行个数不同: window.onload只能有一个,多个的话会执行最后一个,document.ready可以执行多次
(3)window.onload不能简写,document.ready可以写成 $(function(){})
(4)在JQuery中,推荐使用$(document).ready() ,如果需要在window.onload后执行,可以调用 $(window).load()方法
37. ajax的意义,常用的发起ajax的方法?
AJAX最根本原理就是在不刷新页面的情况下访问服务器处理数据,并根据数据的处理结果按你想要的方式对页面作出即时更改
意义:局部刷新提供良好的用户体验,减轻服务器的宽度和压力
常用发起ajax的方法:(1)原生xhr。(2)JQuery的$.ajax。(3)ES6的 fetch。
38. 你提到了jquery,来你介绍一下 jquery
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。
39. 列举jquery中的提高性能的方案?
(1)对某个元素多次进行选择,会大大消耗浏览器资源,因此可以定义一个变量保存一次选择,多次调用
(2)若要查找页面中指定类名的标签,会极大消耗浏览器资源,可以给其父元素加个id,通过后代选择器来查找类名
(3)jquery提供大量的筛选方法,如eq().children()等,最好使用 find()方法** 性能最高
(4)jquery 每次使用会有一些缓存,所以推荐使用**链式写法**
40. css3的animate和jq的animate的区别
(1)css3的3D动画,JS模拟不了
(2)css3的2D转换,如translate\scale\rotate()\animation等,效率均高于js模拟
(3)其余常规属性,如width、height、opacity、color等,css3均低于js模拟,这里推荐js模拟
(4)css3的动画是利用C语言编写,是系统提供的方法,一般情况下效率高于Jq
41. 任意写20个Jquery的方法
each,get,data,map,trim,css,animate,addClass,removeClass,props,attr,appendTo,append,after,before,insertBefore,instanceofrtAfter,find(),eq(),ajax,load,remove,empty,show,hide,slideUp,slideDown,fadeIn,fadeOut,fadeTo
42. JQuery绑定事件的方式,请说明他们的优缺点
(1)on ,推荐,因为其他三个都是调用on实现的
(2)bind,只能给当前元素绑定事件
(3)live,1.9已移除,解决bind的缺陷,可以给未来元素绑定事件,效率低,绑定在document上
(4)delegate 支持事件委托,支持给未来元素绑定事件,最接近on
43. attr和prop的区别
(1)对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
(2)对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
(3)像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需要使用prop方法去操作才能获得正确的结果。
44. $(this)和this关键字在jQuery中有何不同
$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用val() 获取值等等。
this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。你不能对它调用 jQuery 方法,直到它被 $() 函数包裹,例如 $(this)
45. 请简单描述一下JQuery中的选择器
1.JQuery封装了大量的选择器,具备元素,标签,类名等基本选择器功能,还对类名选择器进行扩充,支持css的语法选择器
2.对css语法选择器进行扩充,如eq,[type=’text’],has(),first.等
46. 移动端击穿问题(网上都叫“点透”问题)
例:当在C区域进行点击罩层A的时候,会发现跳到百度页面了,也就是,本来点击A,但是却透过A,点击到了B里的链接!这就是传说中的 click点透 。
出现的场景:
(1)A/B两个层上下z轴重叠。
(2)上层的A点击后消失或移开。
(3)B元素本身有默认click事件(如a标签) 或 B绑定了click事件
出现的原因:touch事件的300ms延迟
解决:
(1)移动端统一使用touch相关事件,
(2)B元素有click事件,A应及时取消默认点击,如 if(event=='touchend') e.preventDefault()
二、JS代码实现
47. 如果我要实现(一个按钮,点击之后,出现一个div提示)你会怎么做?
48. 如何获取一个对象的所有属性值。
49. 已知ID的input输入框,希望获取这个输入框的输入值?怎么做?不使用第三方框架
50. 希望获取页面中所有的checkbox怎么做,不适用第三方框架
51. foo = foo || bar ,这行代码是什么意思?为什么这样写
52. 有哪些js方式对一个DOM设置它的css样式?
53. 删除数组最后一个数
54. 怎么向数组指定位置插入数据或者删除一条数据?
55. 用原生JS输出1-999之间的素数(即质数,只能被1或者本身整除的整数)
56. 写一个冒泡排序方法
57. 页面上有一个表格,代码段为
,请设置其表格文字字体为18像素,红色,文字间距0.2em,行高150%
58. 对字符串abcdef进行翻转,原生
59. 实现点击li,alert出它的index (原生和jquery)
1
2
3
4
60. 随机选取10-100之间的10个数字,存入一个数组,并排序
61. 一个div里有个关闭按钮,点击按钮和div外面所有位置,都可以关闭div
62. 实现alert()函数中出现换行?
63. 判断字符串格式是否符合要求,第一个是字母,往后可以是数字、字母、下划线,字符总长度为5-20
64. 输出页面的节点个数,DOM节点原生
65. 手写JQuery中的ajax获取json简单示例
66. 写一个函数,检测一个变量是否是String类型
67. 写下面打印出来的值
"hello world".split("").reverse().join();
68.
var name = jack;
function say(){
console.log(name);
var name = 'rose';
}
say();
console.log(name);
输出什么?为什么?
69.
var foo = 'hello';
(function(){
var bar = 'World';
alert(foo + bar)
})()
alert(foo+bar)
分别弹出什么
70. 打印出来的值
console.info("1");
setTimeout(function(){
console.info("2");
},0);
console.info("3");
71. 以下continue和break运行结果num分别是多少?
var num=1;
for(var i=0; i<10;i++)(
if(i%3==0){
continue/break;
}
num++;
}
78.
var i=0;
i++;
j=i++;
y=++j;
i,y的值分别是多少?
79.
var foo="11"+1-"1";
console.log(foo);
console.log(typeof foo);
80.
var k = 0;
for(var m = 0,n = 0;m < 10 ,n < 7;m++,n++){
k = m+n
}
console.log(k);
81.
以上代码是一组人员列表,以及一个搜索框和一个搜索按钮
要求:用JQuery实现输入关键字在文本框中,点搜索按钮能搜索到含有关键字的人员,不相关人员不显示
$('#search_btn').on('click',function(){
var arr = [];
var reg = new RegExp($('#search_input').val())
$('.unit').each(function(){
$(this).css('display','none')
if(reg.test($(this).html())){
$(this).css('display','block')
}
})
})
82. 求值,为什么?
var a= new Object();
a.value = 1;
b = a;
b.value = 2;
alert(a.value)
83. 下面这个输出什么?
function test(){
var c = '600';
setTimeout(function(){
this.c = '700';
},1000)
}
c = '800';
var a = {c:'900'};
test.apply(a);
console.log(a.c + c);
setTimeout(function(){
console.log(a.c + c);
},1100)
84. 实现节点的拖拽,原生
85. 实现省级二级联动。
86. 实现图片放大镜效果。
87. 实现轮播效果。
你可能感兴趣的:(JS)
SpringMVC的执行流程
1、什么是MVCMVC是一种设计模式。MVC的原理图如下所示M-Model模型(完成业务逻辑:有javaBean构成,service+dao+entity)V-View视图(做界面的展示jsp,html……)C-Controller控制器(接收请求—>调用模型—>根据结果派发页面2、SpringMVC是什么SpringMVC是一个MVC的开源框架,SpringMVC=Struts2+Spring,
EasyPlayer播放器系列开发计划2025
xiejiashu
EasyPlayer EasyPlayer EasyPlayer播放器 RTSP播放器 js播放器 Web播放器
EasyPlayer系列产品发展至今,已经超过10年,从最早的EasyPlayerRTSP播放器,到如今维护的3条线:EasyPlayer-RTSP播放器:Windows、Android、iOS;EasyPlayerPro播放器:Windows、Android、iOS;EasyPlayer.js播放器:H5;这3个播放器各有各的应用场景,用户量也是巨大,像RTSP版本的播放器,到今天依然还有很多低
js操作样式
郝加升
DOM样式属性和方法:指定的元素,它的style有这么几个属性和方法:cssText:通过这个属性可以访问到元素的特性style设置的属性,并且可以直接赋值设置。removeProperty(属性名称):从样式中删除给定属性。setProperty(属性名称,值,权重):可以通过这个方法设置给定样式的同时设置其权重,可以传入”important”或者一个空字符串。获取计算后样式:window.ge
深入理解 Tomcat Wrapper 原理
北漂老男人
Tomcat tomcat java
深入理解TomcatWrapper原理一、引言在Tomcat的分层容器架构中,Wrapper作为最底层的容器,专门负责管理单个Servlet的生命周期及请求分发。每一个Servlet(包括JSP、Filter等)都对应一个Wrapper。Wrapper是Servlet规范与Tomcat容器实现之间的桥梁,直接关系到请求的分发效率、Servlet的加载与重用、安全隔离等。本文将系统剖析Wrapper
人工智能应用研究快讯 2021-11-30
峰谷皆平
[HTML]ArtificialIntelligenceforSkinCancerDetection:ScopingReviewATakiddin,JSchneider,YYang,AAbd-Alrazaq...JournalofMedicalInternet...,2021ABSTACT:Background:Skincanceristhemostcommoncancertypeaffectin
前端面试每日 3+1 —— 第39天
浪子神剑
今天的面试题(2019.05.25)——第39天[html]title与h1、b与strong、i与em的区别分别是什么?[css]写出你知道的CSS水平和垂直居中的方法[js]说说你对模块化的理解[软技能]公钥加密和私钥加密是什么?《论语》,曾子曰:“吾日三省吾身”(我每天多次反省自己)。前端面试每日3+1题,以面试题来驱动学习,每天进步一点!让努力成为一种习惯,让奋斗成为一种享受!欢迎在Iss
selenium 特殊场景处理
文章目录前言一、windows的弹窗二、内嵌网页frame三、页签切换四、截图五、弹窗六、JS执行总结前言selenium处理web操作师,有很多特殊的情况需要处理,例如弹窗、内嵌网页,页签切换,js执行等,下面介绍一些可能会遇到的特殊场景一、windows的弹窗importwin32com.client'''创建了一个WScript.ShellCOM(ComponentObjectModel)对
大学社团管理系统(11831)
codercode2022
java spring boot spring echarts spring cloud sentinel java-rocketmq
有需要的同学,源代码和配套文档领取,加文章最下方的名片哦一、项目演示项目演示视频二、资料介绍完整源代码(前后端源代码+SQL脚本)配套文档(LW+PPT+开题报告)远程调试控屏包运行三、技术介绍Java语言SSM框架SpringBoot框架Vue框架JSP页面Mysql数据库IDEA/Eclipse开发四、项目截图有需要的同学,源代码和配套文档领取,加文章最下方的名片哦!
二级域名分发网站源码 商业版全开源
lskelasi
程序源码 二级域名分发源码 二级域名分发网站源码 源码
介绍:快乐二级域名分发-快乐二级域名分发源码主要是二级域名分发网站源码,不懂的不要下载了。本套源码可设置收费使用,有充值接口,域名接口配置自己研究吧网盘下载地址:https://zijiewangpan.com/jsX0JAuRE01图片:
2021-01-19
长孙俊明
curl-H"Content-Type:application/json"-XPUT127.0.0.1:9200/_all/_settings-d'{"index.max_result_window":"5000000"}'
VUE 座位图功能+扩展
NUZGNAW
vue.js javascript 前端
1、通过循环画出页面座位图0"style="display:table;margin:0auto;min-height:472px;position:relative;">{{i.sign}}2、画出右下角的预览图3、编写对应js方法watch:{seatList:{handler(newVal,oldVal){if(this.seatList&&!stringBlank(this.seatLis
为什么学习Web前端一定要掌握JavaScript?
web前端学习指南
为什么学习Web前端一定要掌握JavaScript?在前端的世界里,没有什么是JavaScript实现不了的,关于JS有一句话:凡是可以用JavaScript来写的应用,最终都会用JavaScript,JavaScript可运行在所有主要平台的所有主流浏览器上,也可运行在每一个主流操作系统的服务器端上。现如今我们在为网站写任何一个主要功能的时候都需要有懂能够用JavaScript写前端的开发人员。
响应式编程实践:Spring Boot WebFlux构建高性能非阻塞服务
fanxbl957
Web spring boot 后端 java
博主介绍:Java、Python、js全栈开发“多面手”,精通多种编程语言和技术,痴迷于人工智能领域。秉持着对技术的热爱与执着,持续探索创新,愿在此分享交流和学习,与大家共进步。全栈开发环境搭建运行攻略:多语言一站式指南(环境搭建+运行+调试+发布+保姆级详解)感兴趣的可以先收藏起来,希望帮助更多的人响应式编程实践:SpringBootWebFlux构建高性能非阻塞服务一、引言在当今数字化时代,互
vue项目
阿什么名字不会重复呢
vue.js 前端 javascript
vue进行配置创建vue项目vuecreateone//one就是项目名字npmielement-ui--Snpmiaxios--savenpmiecharts--save配置main.jsimportVuefrom'vue'importAppfrom'./App.vue'importrouterfrom'./router'importstorefrom'./store'importElement
native.js设置可缩放的webview并隐藏缩放控件
Nanayai
需求明确:webview页面可以手指缩放,并且不要那个原生控件;实现思路:1.使用h5+封装好的方法:设置scalable属性,并在html中设置meta标签:user-scalable=yes或不设置,minimum-scale和maximum-scale需要注意不要都设为1:mui.openWindow({url:"someThing",id:"someThing",styles:{scala
自定义参数解析器HandlerMethodArgumentResolver,重新定义@ResponseBody的请求方式
chanyi
1、解决的问题加了@ResponseBody注解的方法,请求的方式是post的json格式,但如果我们也要通过post的application/x-www-form-urlencoded格式访问此接口。在不改变此接口的情况下。通过修改参数解析器HandlerMethodArgumentResovler来兼容两种请求方法。2、思路根据不同的content-type使用不同参数解析处理器。Conten
python中的 JWT
weixin_34355881
python json php
Jsonwebtoken(JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。基
【Python】PyJWT:轻松实现 JSON Web Token (JWT) 网络令牌的生成与验证
@Unity打怪升级
Python python json 网络 开发语言 前端 pip ipython
PyJWT是一个用Python实现的轻量级库,用于处理JSONWebToken(JWT)。JWT是一种安全的方式,用来表示双方之间经过签名的令牌,通常用于认证和授权场景。PyJWT简化了JWT的生成和验证过程,使得开发者能够轻松地在Python项目中集成JWT功能。在这篇博客中,我们将深入介绍PyJWT,展示如何生成、解码和验证JWT令牌,并且会通过代码示例演示如何在实际项目中使用PyJWT进行认
时间组件库Day.js那些事
前端小白花
javascript 开发语言 ecmascript
一、简介1.什么是Day.jsDay.js是一个轻量级,易于使用的JavaScript日期库,提供了强大的日期和时间处理功能,与Moment.js的API设计相似,但具有更高的性能和更小的体积。Day.js官网https://day.js.org/docs/zh-CN/installation/installation2.优势a.特点轻量级:Dayjs的压缩后大小只有2KB左右,远小于Moment
Python 数据可视化神器—Pyecharts
代码输入中...
python echarts 开发语言 数据分析 pycharm
前言Echarts是百度开源的一款数据可视化JS工具,数据可视化类型十分丰富,但是得通过导入js库在JavaWeb项目上运行。作为工作中常用Python的选手,不能不知道这款数据可视化插件的强大。那么,能否在Python中也能用到Echarts的功能呢?寻找中惊喜地发现了pyecharts,只需在python中安装该模块即可使用。安装常用的pip安装包一键安装pyecharts#pyecharts
JavaScript正则表达式去除括号但保留内容与去除括号与内容
Selicens
javascript 正则表达式
项目上碰到一个需求,是取多个递增文件的文件名,类似于test(1).txt、test(2).txt,但是不需要括号,只要test1、test2这种格式,最开始想到的办法就是js里的replace替换,先上一个比较笨但是也能实现效果的例子letname="test(1).txt"letdata=name.split('.')[0].replace('(','').replace(')','')con
如何从模型返回结构化数据
努力学习agent
langchain 人工智能
with_structured_output()方法支持此方法的模型ProviderToolcallingStructuredoutputJSONmodeLocalMultimodalPackageChatAnthropic✅✅❌❌✅langchain-anthropicChatMistralAI✅✅❌❌❌langchain-mistralaiChatFireworks✅✅✅❌❌langchain
[simdjson] 实现不同CPU调度 | 自动硬件适配的抽象
lvy-
# json高速解析lib linux 数据库
第八章:实现不同CPU调度欢迎回来~在前面的章节中,我们已经探索了如何使用simdjson的解析器、填充字符串、文档、值类型、对象与数组,学习了如何处理错误处理,甚至处理文档流。我们已经看到simdjson的速度非常快。这种速度很大程度上源于现代CPU提供的高性能专用指令。但并非所有CPU都相同!在Intel芯片上可用的指令可能在ARM芯片或旧款Intel芯片上不存在。这带来了一个挑战:如何让si
OpenSIPS 邂逅 Kafka:构建高效 VoIP 消息处理架构
c_zyer
opensips SIP 消息队列 kafka opensips voip
使用场景使用步骤引入模块组装&发送数据消费数据故障转移使用场景异步日志处理:将OpenSIPS中的SIP信令日志、通话记录(CDR)等数据发送到Kafka队列中。事件通知与监控:利用OpenSIPS的event_interface模块将SIP事件(如呼叫建立、断开、注册等)推送到KafkaOpenSIPS中事件接口有以下类型:EVENT_DATAGRAM-PublishJSON-RPCnotifi
网络安全第14集
不灭锦鲤
web安全 安全
前言:小迪安全14集,这集重点内容:0、什么是js渗透测试?在javascript中也存在变量和函数,存在可控变量和函数就有可能存在在漏洞,js开发的web应用和php、java开发的区别是,js能看得到的源代码,php看不到,但是风险就是未授权访问、配置信息泄露(加密算法、key秘钥等),源代码看得到,存在更多的url泄露,从而可能会出现未授权访问,从url,前提:web应用可以采用前端语言或后
datax数据抽取csv到mysql
datax数据抽取执行pythondatax.py-rstreamreader-wstreamwriter命令得到job的json模板,而Windows不支持这种语法。二、解决方案cross-env是一个解决跨平台环境变量设置
JS对象三
玉米地里的熊
1.枚举对象中的属性使用for...in语句-语法:for(var变量in对象){}for...in语句对象中有几个属性,循环体就会执行几次每次执行时,会将对象中的一个属性的名字赋值给变量varobj={name:"孙悟空",age:18,gender:"男",address:"花果山"};for(varninobj){console.log("属性名:"+n);console.log("属性值:
【华为OD机试真题】39、 密钥格式化 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
KFickle
华为od c语言 c++ javascript java 密钥格式化
文章目录一、题目题目描述输入输出样例1样例2二、代码与思路参考C语言思路C代码C++语言思路C++代码Java语言思路Java代码Python语言思路Python代码JS语言思路JS代码作者:鲨鱼狼臧个人博客首页:鲨鱼狼臧专栏介绍:2023华为OD机试真题,使用C、C++、JS、Java、Python五种语言进行解答,专栏每篇文章都包括真题,思路参考,代码分析,订阅有问题后续可与博主解答问题,欢迎
【华为OD机试真题】186、服务中心选址 | 机试真题+思路参考+代码解析(C++、Java、Py、JS)
KFickle
华为od c++ java 华为OD机试真题 javascript 华为 服务中心选址
文章目录一、题目题目描述输入输出样例1样例2样例3二、代码与思路参考C++语言思路C++代码Java语言思路Java代码Python语言思路Python代码JS语言思路JS代码作者:鲨鱼狼臧个人博客首页:鲨鱼狼臧专栏介绍:持续更新最新的华为OD机试真题,本专栏使用C++、Java、Python、JS语言进行解答,目前已更新到2024的B、C、D卷,每个题目的思路分析都非常详细,题目新增图解思路,问
tomcat基础与部署发布
暗黑小菠萝
Tomcat java web
从51cto搬家了,以后会更新在这里方便自己查看。
做项目一直用tomcat,都是配置到eclipse中使用,这几天有时间整理一下使用心得,有一些自己配置遇到的细节问题。
Tomcat:一个Servlets和JSP页面的容器,以提供网站服务。
一、Tomcat安装
安装方式:①运行.exe安装包
&n
网站架构发展的过程
ayaoxinchao
数据库 应用服务器 网站架构
1.初始阶段网站架构:应用程序、数据库、文件等资源在同一个服务器上
2.应用服务和数据服务分离:应用服务器、数据库服务器、文件服务器
3.使用缓存改善网站性能:为应用服务器提供本地缓存,但受限于应用服务器的内存容量,可以使用专门的缓存服务器,提供分布式缓存服务器架构
4.使用应用服务器集群改善网站的并发处理能力:使用负载均衡调度服务器,将来自客户端浏览器的访问请求分发到应用服务器集群中的任何
[信息与安全]数据库的备份问题
comsci
数据库
如果你们建设的信息系统是采用中心-分支的模式,那么这里有一个问题
如果你的数据来自中心数据库,那么中心数据库如果出现故障,你的分支机构的数据如何保证安全呢?
是否应该在这种信息系统结构的基础上进行改造,容许分支机构的信息系统也备份一个中心数据库的文件呢?
&n
使用maven tomcat plugin插件debug关联源代码
商人shang
maven debug 查看源码 tomcat-plugin
*首先需要配置好'''maven-tomcat7-plugin''',参见[[Maven开发Web项目]]的'''Tomcat'''部分。
*配置好后,在[[Eclipse]]中打开'''Debug Configurations'''界面,在'''Maven Build'''项下新建当前工程的调试。在'''Main'''选项卡中点击'''Browse Workspace...'''选择需要开发的
大访问量高并发
oloz
大访问量高并发
大访问量高并发的网站主要压力还是在于数据库的操作上,尽量避免频繁的请求数据库。下面简
要列出几点解决方案:
01、优化你的代码和查询语句,合理使用索引
02、使用缓存技术例如memcache、ecache将不经常变化的数据放入缓存之中
03、采用服务器集群、负载均衡分担大访问量高并发压力
04、数据读写分离
05、合理选用框架,合理架构(推荐分布式架构)。
cache 服务器
小猪猪08
cache
Cache 即高速缓存.那么cache是怎么样提高系统性能与运行速度呢?是不是在任何情况下用cache都能提高性能?是不是cache用的越多就越好呢?我在近期开发的项目中有所体会,写下来当作总结也希望能跟大家一起探讨探讨,有错误的地方希望大家批评指正。
1.Cache 是怎么样工作的?
Cache 是分配在服务器上
mysql存储过程
香水浓
mysql
Description:插入大量测试数据
use xmpl;
drop procedure if exists mockup_test_data_sp;
create procedure mockup_test_data_sp(
in number_of_records int
)
begin
declare cnt int;
declare name varch
CSS的class、id、css文件名的常用命名规则
agevs
JavaScript UI 框架 Ajax css
CSS的class、id、css文件名的常用命名规则
(一)常用的CSS命名规则
头:header
内容:content/container
尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体布局宽度:wrapper
左右中:left right
全局数据源
AILIKES
java tomcat mysql jdbc JNDI
实验目的:为了研究两个项目同时访问一个全局数据源的时候是创建了一个数据源对象,还是创建了两个数据源对象。
1:将diuid和mysql驱动包(druid-1.0.2.jar和mysql-connector-java-5.1.15.jar)copy至%TOMCAT_HOME%/lib下;2:配置数据源,将JNDI在%TOMCAT_HOME%/conf/context.xml中配置好,格式如下:&l
MYSQL的随机查询的实现方法
baalwolf
mysql
MYSQL的随机抽取实现方法。举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描。但是在MYSQL 3.23版本中,
JAVA的getBytes()方法
bijian1013
java eclipse unix OS
在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组。这个表示在不同OS下,返回的东西不一样!
String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示,如:
byte[] b_gbk = "
AngularJS中操作Cookies
bijian1013
JavaScript AngularJS Cookies
如果你的应用足够大、足够复杂,那么你很快就会遇到这样一咱种情况:你需要在客户端存储一些状态信息,这些状态信息是跨session(会话)的。你可能还记得利用document.cookie接口直接操作纯文本cookie的痛苦经历。
幸运的是,这种方式已经一去不复返了,在所有现代浏览器中几乎
[Maven学习笔记五]Maven聚合和继承特性
bit1129
maven
Maven聚合
在实际的项目中,一个项目通常会划分为多个模块,为了说明问题,以用户登陆这个小web应用为例。通常一个web应用分为三个模块:
1. 模型和数据持久化层user-core,
2. 业务逻辑层user-service以
3. web展现层user-web,
user-service依赖于user-core
user-web依赖于user-core和use
【JVM七】JVM知识点总结
bit1129
jvm
1. JVM运行模式
1.1 JVM运行时分为-server和-client两种模式,在32位机器上只有client模式的JVM。通常,64位的JVM默认都是使用server模式,因为server模式的JVM虽然启动慢点,但是,在运行过程,JVM会尽可能的进行优化
1.2 JVM分为三种字节码解释执行方式:mixed mode, interpret mode以及compiler
linux下查看nginx、apache、mysql、php的编译参数
ronin47
在linux平台下的应用,最流行的莫过于nginx、apache、mysql、php几个。而这几个常用的应用,在手工编译完以后,在其他一些情况下(如:新增模块),往往想要查看当初都使用了那些参数进行的编译。这时候就可以利用以下方法查看。
1、nginx
[root@361way ~]# /App/nginx/sbin/nginx -V
nginx: nginx version: nginx/
unity中运用Resources.Load的方法?
brotherlamp
unity视频 unity资料 unity自学 unity unity教程
问:unity中运用Resources.Load的方法?
答:Resources.Load是unity本地动态加载资本所用的方法,也即是你想动态加载的时分才用到它,比方枪弹,特效,某些实时替换的图像什么的,主张此文件夹不要放太多东西,在打包的时分,它会独自把里边的一切东西都会集打包到一同,不论里边有没有你用的东西,所以大多数资本应该是自个建文件放置
1、unity实时替换的物体即是依据环境条件
线段树-入门
bylijinnan
java 算法 线段树
/**
* 线段树入门
* 问题:已知线段[2,5] [4,6] [0,7];求点2,4,7分别出现了多少次
* 以下代码建立的线段树用链表来保存,且树的叶子结点类似[i,i]
*
* 参考链接:http://hi.baidu.com/semluhiigubbqvq/item/be736a33a8864789f4e4ad18
* @author lijinna
全选与反选
chicony
全选
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>全选与反选</title>
vim一些简单记录
chenchao051
vim
mac在/usr/share/vim/vimrc linux在/etc/vimrc
1、问:后退键不能删除数据,不能往后退怎么办?
答:在vimrc中加入set backspace=2
2、问:如何控制tab键的缩进?
答:在vimrc中加入set tabstop=4 (任何
Sublime Text 快捷键
daizj
快捷键 sublime
[size=large][/size]Sublime Text快捷键:Ctrl+Shift+P:打开命令面板Ctrl+P:搜索项目中的文件Ctrl+G:跳转到第几行Ctrl+W:关闭当前打开文件Ctrl+Shift+W:关闭所有打开文件Ctrl+Shift+V:粘贴并格式化Ctrl+D:选择单词,重复可增加选择下一个相同的单词Ctrl+L:选择行,重复可依次增加选择下一行Ctrl+Shift+L:
php 引用(&)详解
dcj3sjt126com
PHP
在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址 变量的引用 PHP 的引用允许你用两个变量来指向同一个内容 复制代码代码如下:
<?
$a="ABC";
$b =&$a;
echo
SVN中trunk,branches,tags用法详解
dcj3sjt126com
SVN
Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是svn://proj/|+-trunk+-branches+-tags这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。
对软件设计的思考
e200702084
设计模式 数据结构 算法 ssh 活动
软件设计的宏观与微观
软件开发是一种高智商的开发活动。一个优秀的软件设计人员不仅要从宏观上把握软件之间的开发,也要从微观上把握软件之间的开发。宏观上,可以应用面向对象设计,采用流行的SSH架构,采用web层,业务逻辑层,持久层分层架构。采用设计模式提供系统的健壮性和可维护性。微观上,对于一个类,甚至方法的调用,从计算机的角度模拟程序的运行情况。了解内存分配,参数传
同步、异步、阻塞、非阻塞
geeksun
非阻塞
同步、异步、阻塞、非阻塞这几个概念有时有点混淆,在此文试图解释一下。
同步:发出方法调用后,当没有返回结果,当前线程会一直在等待(阻塞)状态。
场景:打电话,营业厅窗口办业务、B/S架构的http请求-响应模式。
异步:方法调用后不立即返回结果,调用结果通过状态、通知或回调通知方法调用者或接收者。异步方法调用后,当前线程不会阻塞,会继续执行其他任务。
实现:
Reverse SSH Tunnel 反向打洞實錄
hongtoushizi
ssh
實際的操作步驟:
# 首先,在客戶那理的機器下指令連回我們自己的 Server,並設定自己 Server 上的 12345 port 會對應到幾器上的 SSH port
ssh -NfR 12345:localhost:22
[email protected]
# 然後在 myhost 的機器上連自己的 12345 port,就可以連回在客戶那的機器
ssh localhost -p 1
Hibernate中的缓存
Josh_Persistence
一级缓存 Hiberante缓存 查询缓存 二级缓存
Hibernate中的缓存
一、Hiberante中常见的三大缓存:一级缓存,二级缓存和查询缓存。
Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存是由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存
对象关系行为模式之延迟加载
home198979
PHP 架构 延迟加载
形象化设计模式实战 HELLO!架构
一、概念
Lazy Load:一个对象,它虽然不包含所需要的所有数据,但是知道怎么获取这些数据。
延迟加载貌似很简单,就是在数据需要时再从数据库获取,减少数据库的消耗。但这其中还是有不少技巧的。
二、实现延迟加载
实现Lazy Load主要有四种方法:延迟初始化、虚
xml 验证
pengfeicao521
xml xml解析
有些字符,xml不能识别,用jdom或者dom4j解析的时候就报错
public static void testPattern() {
// 含有非法字符的串
String str = "Jamey친ÑԂ
div设置半透明效果
spjich
css 半透明
为div设置如下样式:
div{filter:alpha(Opacity=80);-moz-opacity:0.5;opacity: 0.5;}
说明:
1、filter:对win IE设置半透明滤镜效果,filter:alpha(Opacity=80)代表该对象80%半透明,火狐浏览器不认2、-moz-opaci
你真的了解单例模式么?
w574240966
java 单例 设计模式 jvm
单例模式,很多初学者认为单例模式很简单,并且认为自己已经掌握了这种设计模式。但事实上,你真的了解单例模式了么。
一,单例模式的5中写法。(回字的四种写法,哈哈。)
1,懒汉式
(1)线程不安全的懒汉式
public cla