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)
element实现动态路由+面包屑
软件技术NINI
vue案例 vue.js 前端
el-breadcrumb是ElementUI组件库中的一个面包屑导航组件,它用于显示当前页面的路径,帮助用户快速理解和导航到应用的各个部分。在Vue.js项目中,如果你已经安装了ElementUI,就可以很方便地使用el-breadcrumb组件。以下是一个基本的使用示例:安装ElementUI(如果你还没有安装的话):你可以通过npm或yarn来安装ElementUI。bash复制代码npmi
C#中使用split分割字符串
互联网打工人no1
c#
1、用字符串分隔:usingSystem.Text.RegularExpressions;stringstr="aaajsbbbjsccc";string[]sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);foreach(stringiinsArray)Response.Write(i.ToString()+"");输出结果:aaabbbc
【华为OD机试真题2023B卷 JAVA&JS】We Are A Team
若博豆
java 算法 华为 javascript
华为OD2023(B卷)机试题库全覆盖,刷题指南点这里WeAreATeam时间限制:1秒|内存限制:32768K|语言限制:不限题目描述:总共有n个人在机房,每个人有一个标号(1<=标号<=n),他们分成了多个团队,需要你根据收到的m条消息判定指定的两个人是否在一个团队中,具体的:1、消息构成为:abc,整数a、b分别代
数组去重
好奇的猫猫猫
整理自js中基础数据结构数组去重问题思考?如何去除数组中重复的项例如数组:[1,3,4,3,5]我们在做去重的时候,一开始想到的肯定是,逐个比较,外面一层循环,内层后一个与前一个一比较,如果是久不将当前这一项放进新的数组,挨个比较完之后返回一个新的去过重复的数组不好的实践方式上述方法效率极低,代码量还多,思考?有没有更好的方法这时候不禁一想当然有了!!!hashtable啊,通过对象的hash办法
【JS】执行时长(100分) |思路参考+代码解析(C++)
l939035548
JS 算法 数据结构 c++
题目为了充分发挥GPU算力,需要尽可能多的将任务交给GPU执行,现在有一个任务数组,数组元素表示在这1秒内新增的任务个数且每秒都有新增任务。假设GPU最多一次执行n个任务,一次执行耗时1秒,在保证GPU不空闲情况下,最少需要多长时间执行完成。题目输入第一个参数为GPU一次最多执行的任务个数,取值范围[1,10000]第二个参数为任务数组长度,取值范围[1,10000]第三个参数为任务数组,数字范围
node.js学习
小猿L
node.js node.js 学习 vim
node.js学习实操及笔记温故node.js,node.js学习实操过程及笔记~node.js学习视频node.js官网node.js中文网实操笔记githubcsdn笔记为什么学node.js可以让别人访问我们编写的网页为后续的框架学习打下基础,三大框架vuereactangular离不开node.jsnode.js是什么官网:node.js是一个开源的、跨平台的运行JavaScript的运行
docker
igotyback
eureka 云原生
Docker容器的文件系统是隔离的,但是可以通过挂载卷(Volumes)或绑定挂载(BindMounts)将宿主机的文件系统目录映射到容器内部。要查看Docker容器的映射路径,可以使用以下方法:查看容器配置:使用dockerinspect命令可以查看容器的详细配置信息,包括挂载的卷。例如:bashdockerinspect在输出的JSON格式中,查找"Mounts"部分,这里会列出所有的挂载信息
在Ubuntu中编译含有JSON的文件出现报错
芝麻糊76
Linux kill_bug linux ubuntu json
在ubuntu中进行JSON相关学习的时候,我发现了一些小问题,决定与大家进行分享,减少踩坑时候出现不必要的时间耗费截取部分含有JSON部分的代码进行展示char*str="{\"title\":\"JSONExample\",\"author\":{\"name\":\"JohnDoe\",\"age\":35,\"isVerified\":true},\"tags\":[\"json\",\"
Xinference如何注册自定义模型
玩人工智能的辣条哥
人工智能 AI 大模型 Xinference
环境:Xinference问题描述:Xinference如何注册自定义模型解决方案:1.写个model_config.json,内容如下{"version":1,"context_length":2048,"model_name":"custom-llama-3","model_lang":["en","ch"],"model_ability":["generate","chat"],"model
Python神器!WEB自动化测试集成工具 DrissionPage
亚丁号
python 开发语言
一、前言用requests做数据采集面对要登录的网站时,要分析数据包、JS源码,构造复杂的请求,往往还要应付验证码、JS混淆、签名参数等反爬手段,门槛较高。若数据是由JS计算生成的,还须重现计算过程,体验不好,开发效率不高。使用浏览器,可以很大程度上绕过这些坑,但浏览器运行效率不高。因此,这个库设计初衷,是将它们合而为一,能够在不同须要时切换相应模式,并提供一种人性化的使用方法,提高开发和运行效率
Mongodb Error: queryTxt ETIMEOUT xxxx.wwwdz.mongodb.net
佛一脚
error react mongodb 数据库
背景每天都能遇到奇怪的问题,做个记录,以便有缘人能得到帮助!换了一台电脑开发nextjs程序。需要连接mongodb数据,对数据进行增删改查。上一台电脑好好的程序,新电脑死活连不上mongodb数据库。同一套代码,没任何修改,搞得我怀疑人生了,打开浏览器进入mongodb官网毫无问题,也能进入线上系统查看数据,网络应该是没问题。于是我尝试了一下手机热点,这次代码能正常跑起来,连接数据库了!!!是不
Vue( ElementUI入门、vue-cli安装)
m0_l5z
elementui vue.js
一.ElementUI入门目录:1.ElementUI入门1.1ElementUI简介1.2Vue+ElementUI安装1.3开发示例2.搭建nodejs环境2.1nodejs介绍2.2npm是什么2.3nodejs环境搭建2.3.1下载2.3.2解压2.3.3配置环境变量2.3.4配置npm全局模块路径和cache默认安装位置2.3.5修改npm镜像提高下载速度2.3.6验证安装结果3.运行n
博客网站制作教程
2401_85194651
java maven
首先就是技术框架:后端:Java+SpringBoot数据库:MySQL前端:Vue.js数据库连接:JPA(JavaPersistenceAPI)1.项目结构blog-app/├──backend/│├──src/main/java/com/example/blogapp/││├──BlogApplication.java││├──config/│││└──DatabaseConfig.java
00. 这里整理了最全的爬虫框架(Java + Python)
有一只柴犬
爬虫系列 爬虫 java python
目录1、前言2、什么是网络爬虫3、常见的爬虫框架3.1、java框架3.1.1、WebMagic3.1.2、Jsoup3.1.3、HttpClient3.1.4、Crawler4j3.1.5、HtmlUnit3.1.6、Selenium3.2、Python框架3.2.1、Scrapy3.2.2、BeautifulSoup+Requests3.2.3、Selenium3.2.4、PyQuery3.2
vue 创建项目报错:command failed: npm install --loglevel error
那鱼、会飞
vue.js vue-cli3
这个问题其实很好解决,只是很多种情况,逐一排除即可。稳下心来~vuecli3创建项目我的node版本是node14.15.0,(永远不要尝试最新版本)node各种版本下载地址:以往的版本|Node.js(nodejs.org)vue/
[email protected] @vue/
[email protected] (注意vue/cli2和vue/cli3的下载命名有所改变,2是-形式,3是/形式)其实报错
更改npm镜像源为淘宝镜像
骆小骆
基于node.js
npm常用指令后缀*最近复习了一下node.js整理了一下跟node.js相关的指令后缀*--save、-S参数意思是把模块的版本信息保存到dependencies(生产环境依赖)中,即你的package.json文件的dependencies字段中;–--save-dev、-D参数意思是把模块版本信息保存到devDependencies(开发环境依赖)中,即你的package.json文件的de
COCO 格式的数据集转化为 YOLO 格式的数据集
QYQY77
YOLO python
"""--json_path输入的json文件路径--save_path保存的文件夹名字,默认为当前目录下的labels。"""importosimportjsonfromtqdmimporttqdmimportargparseparser=argparse.ArgumentParser()parser.add_argument('--json_path',default='./instances
NPM私库搭建-verdaccio(Linux)
Beam007
npm linux 前端
1、安装nodelinux服务器安装nodea)、官网下载所需的node版本https://nodejs.org/dist/v14.21.0/b)、解压安装包若下载的是xxx.tar.xz文件,解压命令为tar-xvfxxx.tar.xzc)、修改环境变量修改:/etc/profile文件#SETPATHFORNODEJSexportNODE_HOME=NODEJS解压安装的路径exportPAT
前端代码上传文件
余生逆风飞翔
前端 javascript 开发语言
点击上传文件import{ElNotification}from'element-plus'import{API_CONFIG}from'../config/index.js'import{UploadFilled}from'@element-plus/icons-vue'import{reactive}from'vue'import{BASE_URL}from'../config/index'i
golang获取用户输入的几种方式
余生逆风飞翔
golang 开发语言 后端
一、定义结构体typeUserInfostruct{Namestring`json:"name"`Ageint`json:"age"`Addstring`json:"add"`}typeReturnDatastruct{Messagestring`json:"message"`Statusstring`json:"status"`DataUserInfo`json:"data"`}二、get请求的
VUE3 + xterm + nestjs实现web远程终端 或 连接开启SSH登录的路由器和交换机。
焚木灵
node.js vue
可远程连接系统终端或开启SSH登录的路由器和交换机。相关资料:xtermjs/xterm.js:Aterminalfortheweb(github.com)后端实现(NestJS):1、安装依赖:npminstallnode-ssh@nestjs/websockets@nestjs/platform-socket.io2、我们将创建一个名为RemoteControlModule的NestJS模块,
spring mvc @RequestBody String类型参数
zoyation
spring-mvc spring mvc
通过如下配置:text/html;charset=UTF-8application/json;charset=UTF-8在springmvc的Controller层使用@RequestBody接收Content-Type为application/json的数据时,默认支持Map方式和对象方式参数@RequestMapping(value="/{code}/saveUser",method=Requ
Vue 项目运行时,报错 Error: Cannot find module ‘node:path‘
周bro
vue.js 前端 javascript node.js npm
node-v是否显示nodenpm-v报错Error:Cannotfindmodule‘node:path'是因为node版本和npm版本不匹配安装相对应的版本node版本10.16.0对应npm版本
[email protected] 执行该命令即可匹配版本官网https://nodejs.org/en/about/previous-releases
360前端星计划-动画可以这么玩
马小蜗
动画的基本原理定时器改变对象的属性根据新的属性重新渲染动画functionupdate(context){//更新属性}constticker=newTicker();ticker.tick(update,context);动画的种类1、JavaScript动画操作DOMCanvas2、CSS动画transitionanimation3、SVG动画SMILJS动画的优缺点优点:灵活度、可控性、性能
【vite 自动配置路由】
CODER-V
前端 javascript vue.js 前端 软件构建
手动配置路由,是一个没有技术含量又浪费时间的工作。本文将介绍vite构建的vue3项目如何编写一个自动配置路由的脚本。约定大于配置要想使用脚本完成路由的自动配置,我们就需要遵循以下目录规则:每一个页面对应一个包,当前包下的主页面命名为index.vue;每个包里必须配置一个page.js;在每一个page.js里边配置,额外的路由信息,比如:exportdefault{title:'商品',men
探索Zebra4J:构建高效企业级Web应用的微服务框架
叶准鑫Natalie
探索Zebra4J:构建高效企业级Web应用的微服务框架ZebraZebra4J/Zebra4Js基于SpringBoot的JavaWeb/Nodejs框架项目地址:https://gitcode.com/gh_mirrors/zebra/Zebra项目介绍在当今快速发展的技术环境中,构建高效、可扩展的企业级Web应用是每个开发团队的追求。Zebra4J作为一款基于SpringBoot的全新微服务
【JS】前端文件读取FileReader操作总结
程序员-张师傅
前端 前端 javascript 开发语言
前端文件读取FileReader操作总结FileReader是JavaScript中的一个WebAPI,它允许web应用程序异步读取用户计算机上的文件(或原始数据缓冲区)的内容,例如读取文件以获取其内容,并在不将文件发送到服务器的情况下在客户端使用它。这对于处理图片、文本文件等非常有用,尤其是当你想要在用户界面中即时显示文件内容或进行文件预览时。创建FileReader对象首先,你需要创建一个Fi
【前端】vue 报错:The template root requires exactly one element
程序员-张师傅
前端 前端 vue.js javascript
【前端】vue报错:Thetemplaterootrequiresexactlyoneelement在Vue.js中,当你遇到错误“Thetemplaterootrequiresexactlyoneelement”时,这通常意味着你的Vue组件的模板(template)根节点不是单一的元素。Vue要求每个组件的模板必须有一个根元素来包裹所有的子元素。这个错误通常出现在以下几种情况:模板中有多个并行
UI 自动化的页面对象管理神器 PO-Manager
TesterHome
原文由alex发表于TesterHome社区网站,点击原文链接可于作者直接交流。做UI自动化的同学都知道,UI自动化一个难点就是页面元素的变化,让自动化维护成为一个痛点。在此,为了减轻这个痛点,我在基于Page-Object模式的基础上开发了页面对象维护的工具。该工具为vscode的一个插件,可以通过vscode插件市场搜索PO-Manager来下载安装本文中的页面对象库文件基于json.一个元素
小程序通过js控制页面字体颜色属性
祈澈菇凉
需求:当电量少于百分之20的时候,显示电量的字体显示为红色。1:在wxml里面设置属性batStyle:style="{{item.batStyle}}"电量:{{item.battery}}%2:当复合逻辑条件的时候,在js里面carList[i].batStyle="color:red";success:function(res){constcarList=res.data.list;for(
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