2019年最全面最新200+道JavaScript基础面试题(上)

在此之前,我也跟大家分享过很多的面试题,今天我要跟大家分享的这个JavaScript的面试一共有200多道,适用于前端学习与前端求职者,面试刷题,里面涵盖的内容比较广,今天只是整理了部分面试题,希望对你们有所帮助

01、JavaSript有哪些垃圾回收机制?

标记清除( mark and sweep )
这是JavaScr i pt 最常见的垃圾回收方式。当变量进入执行环境的时候,比如在函数中声明一个变量,垃圾回收器将其标记为“进入环境” 。
当变量离开环境的时候(函数执行结束),将其标记为“离开环境”。
垃圾回收器会在运行的时候给存储在内存中的所有变量加上标记,然后去掉环境中的变量,以及被环境中变量所引用的变量(闭包)的标记。在完成这些之后仍然存在的标记就是要删除的变量。
引用计数( reference counting)
在低版本的IE 中经常会发生内存泄漏,很多时候就是因为它采用引用计数的方式进行垃圾回收。引用计数的策略是跟踪记录每个值被使用的次数。当声明了一个变量并将一个引用类型赋值给该变量的时候, 这个值的引用次数就加1 。如果该变量的值变成了另外一个,则这个值的引用次数就减1 。
当这个值的引用次数变为0 的时候,说明没有变量在使用,这个值没法被访问。
因此, 可以将它占用的空间回收,这样垃圾回收器会在运行的时候清理引用次数为0 的值占用的空间。
在IE中虽然JavaScript 对象通过标记清除的方式进行垃圾回收,但是BOM 与DOM 对象是用引用计数的方式回收垃圾的。也就是说, 只要涉及BOM 和DOM , 就会出现循环引用问题。

02、列举几种类型的DO M 节点
有以下几类DOM 节点。
• 整个文档是一个文档( Document )节,点。
• 每个HTML 标签是一个元素( E l ement )节点。
• 每一个HTML 属性是一个属性( Attribute )节点。. 包含在HTML 元素中的文本是文本( Text )节点。

03、谈谈JavaSript 标签中defer 和async 属性的区别。
( 1 ) defer 属性规定是否延迟执行脚本,直到页面加载为止。async 属性规定脚本一旦可用,就异步执行。
( 2) defer 并行加载JavaScript 文件, 会按照页面上script 标签的顺序执行。async 并行加载JavaScript 文件,下载完成立即执行,不会按照页面上JavaScript 标签的顺序执行。

04、说说你对闭包的理解。
使用闭包主要是为了设计私有的方法和支量。闭包的优点是可以避免全局变量
的污染;缺点是闭包会常驻内存, 增加内存使用量,使用不当很容易造成内存泄漏。在JavaScript 中,函数即闭包,只有函数才会产生作用域。
闭包有3 个特性。
( I )函数嵌套函数。
( 2 )在函数内部可以引用外部的参数和支量。
( 3 )参数和变量不会以垃圾回收机制回收。

05、解释一下unshift ()方法。
该方法在数组启动时起作用,与push ()不同。它将参数成员添加到数组的顶部。
下面给出一段示例代码。
var name= [ ” ] ohn ” ]
name unshift (”char lie”);
name unshi ft ( ” ] oseph”,” Jane " ) ;
cons ole log (name );
输出生口下所示。
[ ” joseph H ,” Jane ”,” char lie ”,” john ” ]

06、encodeURI ()和decodeURI ()的作用是什么?
encodeURI()用于将URL 转换为十六进制编码。而decodeURI()用于将编码的URL
转换回正常URL 。

07、为什么不建议在JavaScript 中使用innerHTML?
通过innerHTML 修改内容, 每次都会刷新,因此很慢。在innerHTML 中没有验证的机会, 因此更容易在文档中插入错误代码,使网页不稳定。

08、如何在不支持JavaScript 的旧浏览器中隐藏JavaScrpit 代码?
在<script>标签之后的代码中添加“<!一” , 不带引号。
在</script>标签之前添加“刀…>”,代码中没有引号。
旧浏览器现在将JavaScript 代码视为一个长的HTML 注释, 而支持JavaScript 的浏览器则将“< !一” 和“// …>” 作为一行注释。

09、在DOM 操作中怎样创建、添加、移除、替换、插入和查找节点?
具体方法如下。
( 1 ) 通过以下代码创建新节点。
createDocurnentFragrnent () // 创建一个DOM 片段
createElernent() // 创建一个具体的元素
creat eTextNode( ) //创建一个文本节点

( 2 ) 通过以下代码添加、移除、替换、插入节,点。
appendChild()
removeChild ( )
replaceChild ()
insertBefore () //并没有inse r tAf t er ()

( 3 )通过以下代码查找节点。
getElernentsByTagNarne() //通过标签名称查找节点
getE l erne 口tsByNarne () //通过元素的name 属性的值查找节点( IE 容错能力较强, 会得到一个数
//组, 其中包括id 等于name 值的节点)
getElernentByid() //通过元素 Id 查找节点, 具有唯一性

10、如何实现浏览器内多个标签页之间的通信?
调用Jocalstorge 、cookie 等数据存储通信方式。

11、null 和undefined 的区别是什么?
null 是一个表示“无”的对象, 转为数值时为O; undefined 是一个表示“元”
的原始千直, 转为主丈千直时为NaN 。
当声明的变量还未初始化时,变量的默认值为undefined ,null 用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
undefined 表示“缺少值”, 即此处应该有一个值,但是还没有定义,典型用法是如下。
( 1 )如果变量声明了,但没有赋值,它就等于undefined 。
( 2 )当调用函数时,如果没有提供应该提供的参数,该参数就等于undefined 。
( 3 )如果对象没有赋值,该属性的值为undefined 。
( 4 )当函数没有返回值时, 默认返回undefined 。
null 表示“ 没有对象” , 即此处不应该有值,典型用法是如下。
( 1 )作为函数的参数, 表示该函数的参数不是对象。
( 2 )作为对象原型链的终点。

12、new 操作符的作用是什么?
作用如下。
( l )创建一个空对象。
( 2 )由this 变量引用该对象。
( 3 )该对象继承该函数的原型(更改原型链的指向)。
( 4 )把属性和方法加入到thi s 引用的对象中。
( 5 )新创建的对象由this 引用,最后隐式地返回this ,过程如下。
var obj = {};
obj.proto=Base.prototype;
Base.call(obj);

13、JavaScript 延迟加载的方式有哪些?
包括defer 和async 、动态创建DOM (创建script , 插入DOM 中,加载完毕后
回调、按需异步载入JavaScript 。

14、call()和apply ()的区别和作用是什么?
作用都是在函数执行的时候,动态改变函数的运行环境( 执行上下文)。
call 和apply 的第一个参数都是改变运行环境的对象。
区别如下:
call 从第二个参数开始,每一个参数会依次传递给调用函数;apply 的第二个参数是数组,数组的每一个成员会依次传递给调用函数。
如:
func . call(funcl , varl , var2, var3)
对应的apply 写法为:
func . apply(funcl, [varl, var2 , var3])

15、哪些操作会造成内存泄漏?
内存泄漏抬不再拥有或需要任何对象( 数据)之后,它们仍然存在于内存中。
提示:垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。如果一个对象的引用数量为0 (没有其他对象引用过该对象),或对该对象的唯一引用是循环的,那么该对象占用的内存立即被回收。
如果setTimeout 的第一个参数使用字符串而非函数,会引发内存泄漏。
闭包、控制台日志、循环(在两个对象彼此引用且彼此保留时,就会产生一个循环)等会造内存泄漏。

16、列举I E 与finefox 的不同之处。
不同之处如下。
( 1 ) IE 支持currentStyle; Firefox 使用getComputStyle 。
( 2) IE 千史用innerText· Firefox 千史用textContent 。
( 3 )在透明度滤镜方面, IE 使用自lter:alpha(opacity= num); Firefox 使用-moz-opacity:num。
( 4 )在事件方面, IE 使用a ttachEv ent: Firefox 使用addEventListener。
( 5 )对于鼠标位直:IE 使用event.clientX; Firefox 使用event.pageX 。
( 6) IE 千史用event.srcElement· Firefox 千史用event . target 。
( 7) 要消除list 的原点, IE 中仅须使margin:O 即可达到最终效果;Firetox 中需要设直
margin:O 、padding:O 和list” style:none 。
( 8 ) css 圆角:IE7 以下不支持圆角。

17、讲解一下JavaScript 对象的几种创建方式。
有以下创建方式。
( 1 ) Object 构造函数式。
( 2 )对象字面量式。
( 3 )工厂模式。
( 4 )安全工厂模式。
( 5 )构造函数模式。
( 6 )原型模式。
( 7) 混合构造函数和原型模式。
( 8 )动态原型模式。
( 9 )寄生构造函数模式。
( 10 )稳妥构造函数模式。

18、如何实现异步编程?
具体方法如下。
方法1 ,通过回调函数。优点是简单、容易理解和部署· 缺点是不利于代码的阅读和维护,各个部分之间高度相合( Coupling ),流程混乱,而且每个任务只能指定一个回调函数。
方法2 ,通过事件监听。可以绑定多个事件,每个事件可以指定多个回调函数,而且可以“去搞合”( Decoupling ),有利于实现模块化;缺点是整个程序都要变成事件驱动型,运行流程会变得很不清晰。
方法3 ,采用发布/订阅方式。性质与“事件监听”类似, 但是明显优于后者。
方法4 ,通过Promise 对象实现。Promise 对象是CommonJS 工作组提出的一种规范,旨在为异步编程提供统一接口。它的思想是,每一个异步任务返回一个Promise 对象,该对象有一个then 方法,九许指定回调函数。

19、请解释一下JavaScript的同源策略。
同源策略是客户端脚本(尤其是JavaScript )的重要安全度量标准。它最早出自Netscape Navigator 2.0 ,目的是防止某个文档或脚本从多个不同源装载。这里的同源策略指的是协议、域名、端口相同。同源策略是一种安全协议。指一段脚本只能读取来自同一来源的窗口和文档的属性。

20、为什么要有同源限制?
我们举例说明。比如一个黑客, 他利用I frame 把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名、密码登录时,他的页面就可以通过JavaScript 读取到你表羊上input 中的内容,这样黑客就会轻松得到你的用户名和密码。

21、在JavaScript中,为什么说函数是第一类对象?
第一类函数即JavaScript 中的函数。这通常意味着这些函数可以作为参数传递给其他函数,作为其他函数的值返回,分配给变量,也可以存储在数据结构中。

22、什么是事件?I E 与F irefo×的事件机制有什么区别?如何阻止冒泡?
事件是在网页中的某个操作(有的操作对应多个事件)。例如,当羊击一个按钮时, 就会产生一个事件,它可以被JavaScr巾t 侦测到。
在事件处理机制上, IE 支持事件冒泡;F i refox 同时支持两种事件模型,也就是捕获型事件和冒泡型事件。
阻止方法是ev. stopPropagation () 。注意旧版IE 中的方法ev. ca n ce!Bub bl e =true.

23、函数声明与函数表达式的区别?
在JavaScript 中,在向执行环境中加载数据时, 解析器对函数声明和函数表达式
并非是一视同仁的。解析器会首先读取函数声明,并使它在执行任何代码之前可用(可以访问)。至于函数表达式,则必须等到解析器执行到它所在的代码行, 才会真正解析和执行它。

24、如何删除一个cookie?
为了删除cookie ,要修改exp i res ,代码如下。
document . cookie = user=icketang ; expires = '+new Date(0 )

25、编写一个方法,求一个字符串的长度( 单位是字节)
假设一个英文字符占用一字节, 一个中文字符占用两字节:
function GetBytes (str ) {
var len = str . length ;
var bytes = len ;
for (var i=0 ; i if ( str . charCodeAt ( 工) > 255 ) bytes++ ;
}
retu rn bytes ;
}
alert(GetBytes ( ” hello 爱创课堂!” ) );

26、对于元素, attribute 和 property 的区别是什么?
attribute 是DOM 元素在文档中作为HTML 标签拥有的属性;property 就是DOM元素在JavaScr中t 中作为对象拥有的属性。
对于HTML 的标准属性来说, attribute 和property 是同步的,会自动更新,但是对于自定义的属性来说,它们是不同步的。

27、解释延迟脚本在JavaScript 中的作用。
默认情况下,在页面加载期间, HTML 代码的解析将暂停, 直到脚本停止执行。
这意味着,如果服务器速度较慢或者脚本特别“沉重”,则会导致网页延迟。在使用
Deferred 时,脚本会延迟执行,直到HTML 解析器运行。这缩短了网页的加载时间,并
且它们的显示速度更快。

28、什么是闭包( closure ) ?
为了说明闭包,创建一个闭包。

function hello () {   //函数执行完毕, 变量仍然存在
var num = 100 ;
var showResu l t= function ( ) { alert (num ); }
num++ ;
return showResult ;
}
var showResult= hello ();
showResult ( )// 执行结果: 弹出10 1

执行hello ()后, hello ()闭包内部的变量会存在,而闭包内部函数的内部变量不会存在,使得JavaScript 的垃圾回收机制不会收回hello ()占用的资源,因为h e llo ()中内部函数的执行需要依赖hello ()中的变量。

29、如何判断一个对象是否属于某个类?
使用instanceof 关键字,判断一个对象是否是类的实例化对象;使用constructor
属性,判断一个对象是否是类的构造函数。

30、JavaScript 中如何使用事件处理程序?
事件是由用户与页面的交互(例如羊击链接或填写表单) 导致的操作。需要一
个事件处理程序来保证所有事件的正确执行。事件处理程序是对象的额外属性。此属性包括事件的名称和事件发生时采取的操作。

31、在JavaScript中有-个函数,执行直接对象查找时,它始终不会查找
原型,这个函数是什么?
hasOwnPrope。

32、在JavaScript中如何使用DOM?
DOM 代表文档对象模型,并且负责文档中各种对象的相王文互。DOM 是开发网页所必需的,其中包括诸如段落、链接等对象。可以操作这些对象,如添加或删除等。为此, DOM 还需要向网页添加额外的功能。

33、documen.wn怡和innerHTML 的区别是什么?
document.write 重绘整个页面;innerHTML 可以重绘页面的一部分。

34、在JavaScript中读取文件的方法是什么?
可以通过如下方式读取服务器中的文件内容。

function read.P.jaxFile (url) {
//创建xhr
var xhr = new XMLHttpRequest() ;
//监听状态
xhr . onreadysta techange = function () {
//监听状态值是4
if (xhr . readyState === 4 晶晶xhr.status === 200) {
console . log(xhr . responseText)
       }
}
//打开请求
xhr . open ( ’ GET ', url , true)
// 发送数据
xhr . send(null) 
}

可以通过如下方式读取本地计算机中的内容。
function readinputFile (id) {
var file= document . getElementByid(id) . files[O] ;
// 实例化FileReader
var reader= new FileReader ();
// 读取文件
reader . readAsText(file)
// 监听返回
reader . on load = function (data) {
console . log(data , this . result)
     }
}

35、如何分配对象属性?
将属性分配给对象的方式与赋值给变量的方式相同。例如,表羊对象的操作值
以下列方式分配给” submit ”:docume nt.form.action = ” submit ” 。

36、请说几条书写JavaSc 「ipt 语句的基本规范。
基本规范如下。
( 1 )不要在同一行声明多个变量。
( 2 )应使用===/ !==来比较t rue /false 或者数值。
( 3 )使用对象字面量替代n ew Array 这种形式。
( 4 )不要使用全局函数。
( 5 ) switch 语句必须带有defau lt 分支。
( 6 )函数不应该有时有返回值,有时没有返回值。
( 7 ) for 循环必须使用大括号括起来。
( 8 ) i f 语句必须使用大括号括起来。
( 9 ) for-in 循环中的变量应该使用var 关键字明确限定的作用域,从而避免作用域污染。

37、eval 的功能是什么?
它的功能是把对应的字符串解析成JavaScript 代码并运行。
应该避免使用eval ,它会造成程序不安全,非常影响性能(执行两次, 一次解析成JavaScript 语句, 一次执行)。

38、[“1”,“2”,“3”] . map(parselnt)的执行结果是多少?
[1, NaN, NaN] ,因为parselnt 需要两个参数( val, radix ), 其中radix 表示解析时用的基数(进制); map 传递了3 个参数( item, index, array ),对应的radix 不合法导致解析失败。

39、谈谈你对this 对象的理解。
this 是JavaScript 的一个关键字,随着函数使用场合的不同, this 的值会发生变化。但是有一个总原则, 即this 指的是调用函数的那个对象。
一般情况下, this 是全局对象Global , 可以作为方法调用。

40、web-garden 和web-farm 有什么不同?
web-garden 和web-farm 都是网络托管系统。唯一的区别是web-garden 是在单个服务器中包含许多处理器的设直,而web ”farm 是使用多个服务器的较大设置。

41、说一下document.write ()的用法。
docume旺write()方法可以用在两个地方,页面载入过程中用实时脚本创建页面内容,以及用延时脚本创建本窗口或新窗口的内容。
document. write 只能重给整个页面, innerHTML 可以重给页面的一部分。

42、在JavaScript中什么是类(伪) 数组?如何将类(伪) 数组转化为标准数组?
典型的类(伪)数组是函数的argument 参数, 在调用getE lementsByTagName和docum e nt.childNodes 方法时,它们返回的NodeList 对象都属于伪数组。可以使用Array.prototype.slice.call ( fakeArray )将数组转化为真正的Array 对象。

43、JavaScript 中callee 和caller的作用是什么?
品:caller 返回一个关于函数的引用,该函数调用了当前函数;callee 返回正在执行的函数,也就是指定的function 对象的正文。

44、讲一下手写数组快速排序的步骤。
“快速排序”的思想很简单,整个排序过程只需要3 步。
( 1 )在数据集之中,选择一个元素作为“基准”( pivot ) 。
( 2 )将所有小于“基准”的元素,都移到“基准”的左边;将所有大于“基准”的元素,都移到“基准”的右边。
( 3 )对“基准”左边和右边的两个子集, 不断重复第( 1 )步和第( 2 )步, 直到所有子集只剩下一个元素为止。

45、如何统计字符串飞aaabbbccccddfgh ”中字母的个数或统计最多的字母数?
具体代码如下。

var str = ” aaaabbbccccddfgh ”;
function dealStr (str) {
var obj = {) ;
for (var i = 0 ; i < str. l ength; i++ ) {
var v = str . charAt {i );
if (obj[v] && ob][ v) . value===v ) {
++ob][ v] . count
) else {
obj[v] = {
count : 1 ,
value : v
                     }
      }
return obj ;
}
var obj= dealStr (str) ;
for (key in obj) {
console . log(obj[key) . value + ’ = ’ + obj [key] . count)
}

46、写一个function ,清除字符串前后的空格(兼容所有浏览器) 。
具体代码如下。

function trim(str) {
if (str && typeof str == =” s tring ” ){
return str . replace ( /^\ s+ l \s +$/ g , ”” ) ;
//去除前后空白符
}
}

47、列出不同浏览器中关于JavaScript 兼容性的两个常见问题。
( 1 )事件绑定兼容性问题。
IE8 以下的浏览器不支持用addEventListener 来绑定事件,使用attach event 可以解决这个问题。
( 2 ) stopPropagation 兼容性问题。
IE8 以下的浏览器不支持用巳.stopPropagation () 来阻止事件传播,使用e .return Value =false 可以解决这个问题。

48、闭包的优缺点是什么?
优点:不产生全局变量,实现属性私有化。
缺点:是闭包中的数据会常驻内存,在不用的时候需要删除,否则会导致内存溢出(内存泄漏) 。

49、用JavaScript 实现一个数组合并的方法(要求去重)。
代码如下

var arrl = ['a ' ];
var arr2 = [ ' b ' ,'c' ] ;
var arr3 = [ 'C ', [ 'd ' ] ,' e ' , undefined , null];
var concat = (function () {
// 去重合并arrl 和arr2
var concat = function (arrl , arr2) {
for (var i = 0, len = arr2 . length J 工< len ; i++) {
~arrl . indexOf (arr2 [ i]) || arrl . push (arr2 [i])
}
// 返回数组去重合并方法
return function () {
var result = [] ;
for (var i = 0 , len = arguments length ; i < len; i++) {
_concat(result , arguments[i])
}
return result
}
})()
执行co ncat (arrl, arr2 , arr3 )后, 会返回[' a ', null, undefined,' e ',[’d '],'c ' , 'b'] 。

50、说明正则表达式给所有string 对象添加去除首尾空白符的方法( trim 方法)。
代码如下

prototype . trim = function () {
return this . replace (/^\s+ | \s+$/g ,"" ) ;

51、说明用JavaScrpit 实现一个提取电话号码的方法
代码如下

var str = ” 12345678901 010 - 12345678 爱创课堂0418 - 1234567 13812345678 ”;
var reg=/(l\d{lO)) I (0\d{2 , 3)\ - \d{7 , 8J)/g ;
alert(str . match(reg) ;
测试“ 1234567890 1 010- 12345678 爱创课堂0418-1234567 13812345678 ”,得到的结果应该是:[ 12345678901 , 010-12345678, 0418-1234567, 13812345678 ] 。

52、JavaScript 中常用的逻辑运算符有哪些?
“and”(&&)运算符、“or”( ||) 运算符和“not”(!)运算符,它们可以在JavaScript中千史用。

53、什么是事件代理(事件委托)?
事件代理( Event Delegation ),又称为事件委托,是JavaScript 中绑定事件的常用技巧。顾名忠义,“事件代理”就是把原本需要绑定的事件委托给父元素,让父元素负责事件监听。事件代理的原理是DOM 元素的事件冒泡。使用事件代理的好处是可以提高性能。

54、什么是JavaScript?
JavaScript 是客户端和服务器端的脚本语言,可以插入HTML 页函中, 并且是目前较热门的Web 开发语言。同时, JavaScript 也是面向对象的编程语言。

55、列举Java 和JavaScript的不同之处。
Java 是一门十分完整、成熟的编程语言。相比之下, JavaScript 是一个可以被引入HTML 页面的编程语言。这两种语言并不完全相互依赖,而是针对不同的意图而设计的。Java 是一种面向对象编程( OOP )或结构化编程语言,类似的语言有C ++;而JavaScript是客户端脚本语言,它称为非结构化编程。

56、JavaScript 和ASP 脚本相比,哪个更快?
JavaScript 史快。JavaScript 是一种客户端语言,因此它不需要Web 服务器的协助就可以执行;ASP 是服务器端语言,因此它总是比JavaScript 慢。值得注意的是,JavaScript 现在也可用于服务器端语言( Node .js ) 。

57、什么是负无穷大?
Infinity 代表了超出JavaScript 处理范围的数值。也就是说, JavaScript 无法处理的数值都是In白nity , 实践证明, JavaScript 所能处理的最大值( N umber.MAX_VALUE )是1.797 693 134 862 315 7e+308 ,超过该数则为正无穷大;而最小值( Number.MIN VALUE)是如-324 ,小于该数则为0 。所以负无穷大代表的是小于-Number.MAX VALUE 的数字,JavaScript 中对应静态变量Number.NEGATIVE一卧JFINITY ,

58、如何将JavaSc 「ipt 代码分解成几行?
在字符串语句中可以通过在第一行末尾使用反斜杠“ \ ”来完成’例如,
document. writ巳(“This is \a program”) 。
如果不是在字符串语句中更改为幸斤行,那么JavaScript 会忽略行中的断点。下面的代码是完美的,但并不建议这样做,因为阻碍了调试。
var x=l, y=2 ,
z=
x+y ;

59、什么是未声明和未定义的变量?
未声明的变量是程序中不存在且未声明的变量。如果程序尝试读取未声明变量的值,则会在运行时遇到错误。未定义的变量是在程序中声明但尚未给出任何值的变量。如果程序尝试读取未定义变量的值, 则返回未定义的值。

60、如何编写可动态添加新元素的代码?
下面给出一段示例代码。

< ! DOCTYPE html>




</head>
<body>
<p id= " ickt ">ickt</p>
<script type=” text/javascript ">
function addNode () {
var p = document . createElement ( 'p ’ );
var textNode = document . createTextNode ( ’ 爱创课堂’ );
p . appendChild(textNode) ;
document . getElementByid ( ’ ickt ') . appendCh 工ld(p)
addNode ()
</script>
</body>
</html>
</code></pre> 
  <p><em><strong>61、什么是全局变量?这些变量如何声明?使用全局变量有哪些问题?</strong></em><br> 全局变量是整个代码中都可用的变量, 也就是说,这些变量没有任何作用域。var 关键字用于声明局部变量, 如果~-略var 关键字,则声明一个全局变量。使用全局变量面临的问题是局部交量和全局变量名称的冲突。此外,很难调试和测试依赖于全局变量的代码。</p> 
  <p><em><strong>62、解释JavaScript 中定时器的工作,并说明使用定时器的缺点</strong></em><br> 定时器用于在设定的时间执行一段代码, 或者在给定的时间间隔内重复该代码。这通过使用函数setTi meout 、setlnterval 和clearinterval 来完成。<br> setTimeout (如nction , delay )函数用于启动在所属延迟之后调用特定功能的定时器。<br> setlnterval ( function , delay )函数用于在捉到的延迟中重复执行给定的功能,只有在取消时才停止。<br> cl earl nte r飞1 al ( id )函数指示定时器停止。<br> 定时器在一个线程内运行,因此事件可能需要排队等待执行。</p> 
  <p><em><strong>63、ViewState 和SessionState 有什么区别?</strong></em><br> ViewState 特定于会话中的页面;Session State 特定于可在Web 应用程序中的所有页面上访问的用户特定数据。</p> 
  <p><em><strong>64、什么是===运算符?</strong></em><br> ===称为严格等式运算符,当两个操作数具有相同的值和类型时,该运算符返回true 。</p> 
  <p><em><strong>65、说明如何使用JavaScript 提交表单。</strong></em><br> 要使用JavaScript 提交表羊,可以使用以下代码。<br> document . form [0] submit ();</p> 
  <p><em><strong>66、元素的样式/类如何改变?</strong></em><br> 可以通过以下方式改变元素的样式。<br> document . getElementByid (”myText ” ) . style . fontSize = "20? ;<br> 可以通过以下方式改变元素的类。<br> document . getElementByid (”myText ”) . c l assName = ”anyclass ”;</p> 
  <p><em><strong>67、JavaScript 中的循环结构都有哪些?</strong></em><br> for 、while 、do … wh il e 、for_in, for of ( E创新增的)。</p> 
  <p><em><strong>68、如何在JavaScript 中将base 字符串转换为integer?</strong></em><br> parseint()函数解析一个字符串参数,并返回一个指定基数的整数。parselnt()将要转换的字符串作为其第一个参数,第二个参数是给定字符串的转换进制基数。为了将4F (基数16 )转换为整数,可以使用代码parselnt ("4F ",16)。</p> 
  <p><em><strong>69、说明“= = ”和“ === ”的区别。</strong></em><br> "=="仅检查值相等性,而"==="用于更严格的等式判定。如果两个变量的值或类型不同,则后者返回false 。</p> 
  <p><em><strong>70、3 + 2 +“ 7”的结果是什么?</strong></em><br> 由于3 和2 是整数,它们将直接相加,同时由于“ 7”是一个字符串,将会被直接连接, 因此结果将是57 。</p> 
  <p><em><strong>71、如何检测客户端机器上的操作系统?</strong></em><br> 为了检测客户端机器上的操作系统,应使用navigator.叩pVersion 字符串(属性)。</p> 
  <p><em><strong>72、JavaScript 中的null 表示什么?</strong></em><br> null 用于表示无值或无对象。它意味着没有对象或空字符串,没有有效的布尔值,没有数值和数组对象。</p> 
  <p><em><strong>73、delete 操作符的功能是什么?</strong></em><br> delete 操作符用于删除对象中的某个属性,但不能删除变量、函数等。</p> 
  <p><em><strong>74、JavaScript 中有哪些类型的弹出框?</strong></em><br> alert 、confirm 和prompt 。</p> 
  <p><em><strong>75、void ( 0 )的作用是什么?</strong></em><br> void 操作符使表达式的运算结果返回undefined ,<br> void ( 0 )用于防止页面刷新,并在调用时传递参数“。” 。<br> void ( 0 )用于调用另一种方法而不刷新页面。</p> 
  <p><em><strong>76、如何强制页面加载JavaScript 中的其他页面?</strong></em><br> 必须插入以下代码才能达到预期效果。</p> 
  <pre><code><script language=" JavaScript" type=" text/javascript ">
< 1-- location . href =" http : //newhost/newpa th/newfile . htm l " ; //-- >
</script>
</code></pre> 
  <p><em><strong>77、转义字符是用来做什么的?</strong></em><br> 当使用特殊字符(如羊引号、双引号、撒号和&符号)时,将使用特义字符(反斜杠) 。在字符前放置反斜杠,使其显示。<br> 下面给出两个示例。</p> 
  <pre><code>document . write " I m a " good " boy "
document . write " I m a \ " good \ "boy "
</code></pre> 
  <p><em><strong>78、什么是JavaScript cookie?</strong></em><br> cookie 是存储在访问者计算机中的变量。每当一台计算机通过浏览器请求某个页面时,就会发送这个cookie , 可以使用JavaScript 来创建和获取cook ie 的值。</p> 
  <p><em><strong>79、解释JavaScript中的pop()方法。</strong></em><br> pop ()方法与shift ()方法类似, 但不同之处在于shift ()方法在数组的开头工作。此外, pop ()方法将最后一个元素从给定的数组中取出并返回,然后改变被调用的数组。<br> 例如:</p> 
  <pre><code>var colors = [ "red ","blue ","green" ] ;
colors . pop ();
// colors : [ " red ","blue" ]
</code></pre> 
  <p><em><strong>80、在JavaScript中使用innerHTML 的缺点是什么?</strong></em><br> 缺点如下:<br> ( 1 )内容随处可见。<br> ( 2 )不能像“追加圭1J innerHTML ” 一样使用。<br> ( 3 )即使使用+=,如“ innerHTML = inner HTML + ‘ html ’”,旧的内容仍然会被HTML替换。<br> ( 4 ) 整个innerHTML 内容被重新解析并构建成元素, 因此它的速度要使得多。<br> ( 5 ) inn e rHTML 不提供验证,因此可能会在文档中插入具有破坏性的HTML 并将其中断。</p> 
  <p><em><strong>81、break 和continue 语句的作用是什么?</strong></em><br> break 语句从当前循环中退出;continue 语句继续下一个循环语句。</p> 
  <p><em><strong>82、在JavaScript 中, datatypes 的两个基本组是什么?</strong></em><br> 两个基本组是原始类型和引用类型。<br> 原始类型包括数字和布尔类型。引用类型包括更复杂的类型,如字符串和日期。</p> 
  <p><em><strong>83、如何创建通用对象?</strong></em><br> 通用对象可以通过以下代码创建。<br> var o =new Object () 。</p> 
  <p><em><strong>84、typeof 是用来做什么的?</strong></em><br> typeof 是一个运算符,用于返回变量类型的字符串描述。</p> 
  <p><em><strong>85、哪些关键字用于处理异常?</strong></em><br> try… catch … finally 用于处理JavaScript 中的异常。<br> try{ <br> 执行代码<br> ) catch (exp ) { <br> 抛出错误提示信息<br> ) finally { <br> 无论try /catch 的结果如何都会执行<br> }</p> 
  <p><em><strong>86、JavaScript 中不同类型的错误有几种?</strong></em><br> 有3 种类型的错误。<br> Load time errors ,该错误发生于加载网页时,例如出现语法错误等状况,称为加载时间错误,并且会动态生成错误。<br> Run time errors , 由于在HTML 语言中滥用命令而导致的错误。<br> Logical Errors ,这是由于在具有不同操作的函数上执行了错误逻辑而发生的错误。</p> 
  <p><em><strong>87、在JavaScript 中, push 方法的作用是什么?</strong></em><br> pu sh 方法用于将一个或多个元素添加或附加到数组的末尾。使用这种方法,可以通过传递多个参数来附加多个元素。</p> 
  <p><em><strong>88、在JavaScript中, unshift 方法的作用是什么?</strong></em><br> unshift 方法就像在数组开头工作的push 方法。该方法用于将一个或多个元素添加到数组的开头。</p> 
  <p><em><strong>89、如何为对象添加属性?</strong></em><br> 为对象添加属性有两种常用语法。<br> 中括号语法,比如obj [" class "] = 12 。<br> 点语法, 比如obj.class= 12 。</p> 
  <p><em><strong>90、获得CheckBox 状态的方式是什么?</strong></em><br> alert ( docurnent.getElementByld (’checkbox l’ ) .checked) ;<br> 如果CheckBox 选中, 此警告将返回TRUE 。</p> 
  <p><em><strong>91、解释一下window. onload 和onDocumentReady 。</strong></em><br> 在载入页面的所有信息之前,不运行window.on load 。这导致在执行任何代码之前会出现延迟。<br> window.onDocumentReady 在加载DOM 之后加载代码。这九许代码史早地执行(早于window.onlonad ) 。</p> 
  <p><em><strong>92、如何理解JavaScript 中的闭包?</strong></em><br> 闭包就是能够读取其他函数内部变量的函数。<br> 闭包的用途有两个, 一是可以读取函数内部的变量,二是让这些变量的值始终保持在内存中。</p> 
  <p><em><strong>93、如何把一个值附加到数组中?</strong></em><br> 可以在数纽末尾处添加成员arr [arr.length] = value;或者调用push 方法arr.push(value) 。</p> 
  <p><em><strong>94、解释一下for-in 循环。</strong></em><br> for-in 循环用于循环对象的属性。<br> for-in 循环的语法如下。<br> f or (var iable name 工n obje c t) { )<br> 在每次循环中,来自对象的一个属性与变量名相关联, 循环继续,直到对象的所有属性都被迫历。</p> 
  <p><em><strong>95、描述一下JavaScript 中的匿名函数。</strong></em><br> 被声明为没有任何命名标识符的函数称为匿名函数。一般来说,匿名函数在声<br> 明后无法访问。<br> 匿名函数声明示例如下。<br> var anon=function( ) { <br> a lert ( ’ I am a nonymous ’);<br> }<br> a non();</p> 
  <p><em><strong>96、IE 和DOM 事件流的区别是什么?</strong></em><br> 区别如下。<br> ( 1 )执行顺序不一样。<br> ( 2 )参数不一样。<br> ( 3 ) 事件名称是否加o n 不一样。<br> ( 4 ) t hi s 指向问题不一样。</p> 
  <p><em><strong>97、阐述一下事件冒泡。</strong></em><br> JavaScript 九许DOM 元素嵌套在一起。在这种情况下,如果单击子级的处理程序,父级的处理程序也将执行同样的工作。</p> 
  <p><em><strong>98、JavaScript 里函数参数arguments是数组吗?</strong></em><br> 在函数代码中,使用特殊对象arguments , 开发者无须明确指出参数名,使用下标就可以访问相应的参数。<br> arguments 虽然有数组的性质,但其并非真正的数组。它只是一个类数组对象,并没有数组的方法,不能像真正的数纽那样调用.join ()、.con cat () 、. pop ()等方法。</p> 
  <p><em><strong>99、什么是构造函数?它与普通函数有什么区别?</strong></em><br> 构造函数是一种特殊的方法,主要用来创建对象时初始化对象,经常与new 运算符一起使用,创建对象的语句中构造函数的名称必须与类名完全相同。与普通函数相比,区别如下。<br> ( I )构造函数只能由new 关键字调用。<br> ( 2 )构造函数可以创建实例化对象。<br> ( 3 )构造函数是类的标志。</p> 
  <p><em><strong>100、请解释一下JavaScript 和css 阻塞。</strong></em></p> 
  <pre><code>JavaScript 的阻塞特性是所有浏览器在下载JavaScript 代码的时候, 会阻止其他一切活动,比如其他资源的下载, 内容的呈现等,直到JavaScript 代码下载、解析、执行完毕后才开始继续并行下载其他资源并渲染内容。
为了提高用户体验, 新一代浏览器都支持并行下载JavaScript 代码,但是Java Script 代码的下载仍然会阻塞其他资源的下载(例如图片、css 文件等) 。
为了防止JavaScript 修改DOM 树,浏览器需要重新构建DOM 积仁所以就会阻塞其他资源的下载和渲染。
嵌入的JavaScr ipt 代码会阻塞所有内容的呈现,而外部JavaScript 代码只会阻塞其后内容的显示,两种方式都会阻塞其后资源的下载。也就是说,外部脚本不会阻塞外部脚本的力口载,但会阻塞外部脚本的执行。
css 本来是可以并行加载的,但是当css 后面跟着嵌入的JavaScript 代码的时候,该css 就会阻塞后面资源的下载。
而当把嵌入的JavaScript 代码放到 css 前面时,就不会出现阻塞的情况了(在IE6 下css 都会阻塞加载)。
根本原因是因为浏览器会维持HTML 中css 和JavaScript 代码的顺序,样式表必须在嵌入的JavaScript 代码执行前先加载、解析完。
而嵌入的JavaScript 代码会阻塞后面的资源力口载,所以就会出现css 阻塞资源、加载的情况。
</code></pre> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1306114174039920640"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(js常用案例,javascript面试题)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1896041976101400576.htm"
                           title="META-INF 文件夹用途" target="_blank">META-INF 文件夹用途</a>
                        <span class="text-muted">杏花春雨江南</span>
<a class="tag" taget="_blank" href="/search/java%E5%9F%BA%E7%A1%80/1.htm">java基础</a><a class="tag" taget="_blank" href="/search/pycharm/1.htm">pycharm</a><a class="tag" taget="_blank" href="/search/ide/1.htm">ide</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>META-INF文件夹是Java应用程序和库中一个特殊的目录,通常用于存放元数据(Metadata)和配置文件。它是Java标准的一部分,Java虚拟机和相关工具会识别并处理该目录中的特定文件。以下是META-INF文件夹的常用使用场景:1.存放Manifest文件(MANIFEST.MF)作用:MANIFEST.MF是JavaJAR文件的元数据文件,用于描述JAR文件的内容和属性。常用场景:指定</div>
                    </li>
                    <li><a href="/article/1896040839600205824.htm"
                           title="分布式系统中的关键技术解析:幂等性、负载均衡、限流算法及其实现" target="_blank">分布式系统中的关键技术解析:幂等性、负载均衡、限流算法及其实现</a>
                        <span class="text-muted">guihong004</span>
<a class="tag" taget="_blank" href="/search/java%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">java面试题</a><a class="tag" taget="_blank" href="/search/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/1.htm">负载均衡</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>在构建高效、可靠的分布式系统时,确保系统的各个组件能够正确处理重复请求(即实现幂等性)、合理分配工作负载(负载均衡)、以及有效控制访问速率以防止过载(限流),是至关重要的。这些技术不仅影响着用户体验,还直接关系到系统的稳定性和安全性。本文将深入探讨几种关键技术及其具体实现方法,包括如何保证操作的幂等性,常见的负载均衡算法有哪些,限流策略中常用的算法介绍,特别是详细解释了计数器(固定窗口)算法和滑动</div>
                    </li>
                    <li><a href="/article/1896040083581104128.htm"
                           title="【datetime】Python datetime模块常用用法" target="_blank">【datetime】Python datetime模块常用用法</a>
                        <span class="text-muted">晨风_Chenfeng</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>1.datetime模块中的主要类date:处理日期(年、月、日)。time:处理时间(时、分、秒、微秒)。datetime:处理日期和时间。timedelta:处理时间间隔(两个日期或时间之间的差)。tzinfo:处理时区信息。2.date类date类用于表示日期(年、月、日)。2.1创建date对象fromdatetimeimportdate#使用年、月、日创建date对象d=date(202</div>
                    </li>
                    <li><a href="/article/1896038189760573440.htm"
                           title="【数据分析】R语言的广义线性混合模型(GLMM)分析案例" target="_blank">【数据分析】R语言的广义线性混合模型(GLMM)分析案例</a>
                        <span class="text-muted">生信学习者1</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/r%E8%AF%AD%E8%A8%80/1.htm">r语言</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96/1.htm">数据可视化</a>
                        <div>禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者!文章目录介绍原理步骤加载R包数据下载导入数据数据预处理成对相关性GLMMs标准化数据字符向量转换成因子化变量构建模型FishesAmphibiansReptilesBirdsMammals画图总结系统信息介绍广义线性混合模型(GeneralizedLinearMixedModels,GLMM)是一种统计模型,用于分析具有非</div>
                    </li>
                    <li><a href="/article/1896030380436287488.htm"
                           title="使用 nodejs 和 ElasticSearch 快速搭建全文检索" target="_blank">使用 nodejs 和 ElasticSearch 快速搭建全文检索</a>
                        <span class="text-muted">dbLenis</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/1.htm">编程语言</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>点击蓝色“有关SQL”关注我哟加个“星标”,天天与10000人一起快乐成长上次群友问我,Python怎么学,我说四个小时足够了,你们不信。这次,我用2个小时,仅仅用Google,快速搭建了一个nodejs+Elasticsearch的小Demo.足可见,在有搜索的年代,快速上手一门技术,已经不是什么难事。1安装1.1下载地址https://nodejs.org/en/download提供windo</div>
                    </li>
                    <li><a href="/article/1896029999765450752.htm"
                           title="JavaScript 系列之:函数" target="_blank">JavaScript 系列之:函数</a>
                        <span class="text-muted">程序员SKY</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>函数的定义方式函数声明functionadd(a,b){returna+b;}函数声明的最重要的一个特征是函数声明提升,它允许你在函数声明之前调用该函数。add(1,2);functionadd(a,b){returna+b;}函数表达式//普通的函数表达式letadd=function(a,b){returna+b;}add(1,2)//函数表达式也可以有函数名,这个函数名不能在函数外面用,只能</div>
                    </li>
                    <li><a href="/article/1896030000595922944.htm"
                           title="Vue 系列之:基础知识" target="_blank">Vue 系列之:基础知识</a>
                        <span class="text-muted">程序员SKY</span>
<a class="tag" taget="_blank" href="/search/VUE/1.htm">VUE</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a>
                        <div>什么是MVVMMVVM(Model-View-ViewModel)一种软件设计模式,旨在将应用程序的数据模型(Model)与视图层(View)分离,并通过ViewModel来实现它们之间的通信。降低了代码的耦合度。Model代表数据模型,是应用程序中用于处理数据的部分。在Vue.js中,Model通常指的是组件的data函数返回的对象,或者Vue实例的data属性。View是用户界面,是用户与应用</div>
                    </li>
                    <li><a href="/article/1896029243532439552.htm"
                           title="前端架构 —— 脚手架的开发流程" target="_blank">前端架构 —— 脚手架的开发流程</a>
                        <span class="text-muted">mask-li</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>一、脚手架开发流程详解开发流程创建npm项目创建脚手架入口文件,最上方添加:#!/usr/bin/envnode配置package.json,添加bin属性编写脚手架代码将脚手架发布到npm使用流程安装脚手架npminstall-gyour-own-cli使用脚手架your-own-cli二、脚手架开发难点解析分包:将复杂的系统拆分成若干个模块命令注册:vuecreatevueaddvueinvo</div>
                    </li>
                    <li><a href="/article/1896028991207305216.htm"
                           title="Nodejs基础使用Elasticsearch(二)" target="_blank">Nodejs基础使用Elasticsearch(二)</a>
                        <span class="text-muted">小黑前端攻城狮</span>
<a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>/*链接到elasticsearch数据库*/varelasticsearch=require('elasticsearch');varclient=newelasticsearch.Client({host:'192.168.1.107:9200',log:'error'});1.统计索引数据:client.count({index:['telegram_message','telegram_u</div>
                    </li>
                    <li><a href="/article/1896025456415666176.htm"
                           title="C++之vector和list辨析" target="_blank">C++之vector和list辨析</a>
                        <span class="text-muted">C嘎嘎嵌入式开发</span>
<a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>std::vector和std::list是C++标准库中两种常用的容器,它们都用于存储和管理元素集合,但在底层实现和性能特性上有显著的区别。1.底层实现std::vector:基于动态数组实现。元素在内存中是连续存储的。支持随机访问(通过下标访问元素)。当容量不足时,会重新分配更大的内存块,并将所有元素复制到新内存中。std::list:基于双向链表实现。元素在内存中是非连续存储的,每个元素包含</div>
                    </li>
                    <li><a href="/article/1896024194454450176.htm"
                           title="学习dify第二天-web下篇" target="_blank">学习dify第二天-web下篇</a>
                        <span class="text-muted">一直走下去-明</span>
<a class="tag" taget="_blank" href="/search/next.js/1.htm">next.js</a><a class="tag" taget="_blank" href="/search/dify%E6%BA%90%E7%A0%81%E5%AD%A6%E4%B9%A0/1.htm">dify源码学习</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/react.js/1.htm">react.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a>
                        <div>学习dify第二天-web下篇引言web目录结构配置入口文件分析下怎么封装的请求最后总结:参考阅读:React基础用next.js写个页面跳转的应用seo搜索引擎优化引言react:ReactFoundations:AboutReactandNext.js|Next.js如果不会next.js可以先看看这个,不看其实也没关系,学下思路也可以。next_web小demoweb目录结构*mocks*:</div>
                    </li>
                    <li><a href="/article/1896023941865074688.htm"
                           title="在nodejs中使用ElasticSearch(一)安装,使用" target="_blank">在nodejs中使用ElasticSearch(一)安装,使用</a>
                        <span class="text-muted">konglong127</span>
<a class="tag" taget="_blank" href="/search/nodejs/1.htm">nodejs</a><a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a>
                        <div>使用docker安装ElasticSearch和Kibana1)创建相应的data文件夹和子文件夹用来持久化ElasticSearch和kibana数据2)提前创建好elasticsearch配置文件data/elasticsearch/config/elasticsearch.yml文件#========================ElasticsearchConfiguration====</div>
                    </li>
                    <li><a href="/article/1896023815608135680.htm"
                           title="在nodejs中使用ElasticSearch(二)核心概念,应用" target="_blank">在nodejs中使用ElasticSearch(二)核心概念,应用</a>
                        <span class="text-muted">konglong127</span>
<a class="tag" taget="_blank" href="/search/nodejs/1.htm">nodejs</a><a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a>
                        <div>核心概念1、索引(index)索引在Elasticsearch7之后,相当于关系型数据库中的表,之前相当于关系型数据库中的数据库。#创建索引PUT/my_index#获取指定索引GET/my_index#获取所有索引GET/_cat/indices?v#模糊匹配索引POST*index*/_search#删除索引DELETE/my_index#创建索引,同时指定索引结构#number_of_sha</div>
                    </li>
                    <li><a href="/article/1896022808249561088.htm"
                           title="Spring Boot 经典九设计模式全览" target="_blank">Spring Boot 经典九设计模式全览</a>
                        <span class="text-muted">m0_74824552</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>在SpringBoot中,设计模式的应用广泛且重要,它们有助于提高代码的可维护性、可扩展性和复用性。以下是SpringBoot中经典的9种设计模式及其代码案例:1.单例模式(SingletonPattern)在Spring中,bean默认就是单例模式。Spring通过单例注册表的方式来实现单例,即维护一个Map来存储单例类的实例。//单例模式示例publicclassSingletonServic</div>
                    </li>
                    <li><a href="/article/1896022680847577088.htm"
                           title="【JavaSE Pro】 Java 进阶 笔记汇总(更新中)" target="_blank">【JavaSE Pro】 Java 进阶 笔记汇总(更新中)</a>
                        <span class="text-muted">m0_74823863</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>【JavaSEPro】Java进阶笔记汇总Java进阶内容的笔记整理汇总,主要讲解的是Java基础语法之外的一些特有的语言特性,包括接口,内部类,Lambda表达式,泛型,异常等。有问题欢迎和我交流!Day1面向对象进阶(static、单例、代码块、继承)Day2面向对象进阶(包、权限修饰符、抽象类、接口)Day3多态,内部类,常用API(Object,Objects,StringBuilder,</div>
                    </li>
                    <li><a href="/article/1896021292285489152.htm"
                           title="设计模式之创建型" target="_blank">设计模式之创建型</a>
                        <span class="text-muted">Good Note</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>大家好,这里是编程Cookbook,关注公众号「编程Cookbook」,获取更多面试资料。本文是对设计模式中创建模式的详细讲解,共5种,分别是单例模式、工厂模式、抽象工厂模式、建造者模式和原型模式。文章目录常用创建型模式单例模式什么是单例模式?单例模式的特点单例模式的使用场景单例模式的实现方式1.懒汉式(LazyInitialization)2.饿汉式(EagerInitialization)3.</div>
                    </li>
                    <li><a href="/article/1896020284067082240.htm"
                           title="常用的设计模式" target="_blank">常用的设计模式</a>
                        <span class="text-muted">chi_666</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a>
                        <div>设计模式是软件开发过程中针对反复出现的问题所总结归纳出的通用解决方案。以下为你介绍常见的设计模式,并结合常用框架给出相应示例。创建型模式创建型模式主要用于对象的创建过程,封装了对象创建的细节,提高了代码的灵活性和可维护性。单例模式(SingletonPattern)模式说明:确保一个类只有一个实例,并提供一个全局访问点。框架示例:在Spring框架中,默认情况下,Bean的作用域是单例的。也就是说</div>
                    </li>
                    <li><a href="/article/1896020284968857600.htm"
                           title="深入理解 JSP:从基础知识到实战技巧的全面解析" target="_blank">深入理解 JSP:从基础知识到实战技巧的全面解析</a>
                        <span class="text-muted">CarlowZJ</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>JSP(JavaServerPages)是一种基于Java的服务器端技术,用于开发动态Web应用。它通过将Java代码嵌入到HTML页面中,简化了Web开发的复杂性。JSP是JavaWeb开发的重要组成部分,与Servlet、JavaBean等技术紧密集成,广泛应用于企业级Web应用开发。本文将从基础知识、核心特性、生命周期、与Servlet的关系、框架支持、最佳实践等方面对JSP进行详细解析,帮</div>
                    </li>
                    <li><a href="/article/1896018644857581568.htm"
                           title="JDK活化石复活:setStream()抢救指南,看完想给Applet开追悼会" target="_blank">JDK活化石复活:setStream()抢救指南,看完想给Applet开追悼会</a>
                        <span class="text-muted">筱涵哥</span>
<a class="tag" taget="_blank" href="/search/Java%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8/1.htm">Java基础入门</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>一、时空错乱现场:当我试图用Applet传2024年的数据1.1来自侏罗纪的SOS"把这个2003年的数据采集Applet改造成能对接新系统!"——看着要传输的JSON数据,我仿佛听到硬盘在哀嚎:"臣妾做不到啊!"1.2现代程序员的降维打击//试图传输JSON数据时try{InputStreamjsonStream=newByteArrayInputStream("{\"data\":1}".ge</div>
                    </li>
                    <li><a href="/article/1896017379691917312.htm"
                           title="React - 兄弟互传 - 消息订阅 - 发布机制" target="_blank">React - 兄弟互传 - 消息订阅 - 发布机制</a>
                        <span class="text-muted">来一碗刘肉面</span>
<a class="tag" taget="_blank" href="/search/React/1.htm">React</a><a class="tag" taget="_blank" href="/search/react.js/1.htm">react.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>pubsub-js是一个轻量级的JavaScript库,用于实现发布-订阅(Pub/Sub)模式。该模式使得组件间的通信变得简单和高效,特别适用于React中的兄弟组件之间通信。通过pubsub-js,一个组件可以发布消息,其他组件可以订阅这些消息以获得更新。1.安装pubsub-jsnpminstallpubsub-js//或者yarnaddpubsub-js2.基本概念发布(Publish):</div>
                    </li>
                    <li><a href="/article/1896015991305990144.htm"
                           title="HTML学习笔记" target="_blank">HTML学习笔记</a>
                        <span class="text-muted">誓死守护发际线</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>文章目录(一)HTML简介一、网页1.什么是网页2.什么是HTML二、常用的浏览器1.常用的浏览器2.浏览器内核(渲染引擎)3.web标准(二)HTML标签一、HTML语法规范1.基本语法概述2.标签的关系二、HTML基本结构标签三、网页开发工具1.VSCode的使用:2.vsCode工具生成骨架标签新增代码1)标签2)lang语言3)charset字符集四、HTML常用标签1.语义化标签:2.标</div>
                    </li>
                    <li><a href="/article/1896015233437200384.htm"
                           title="在nodejs中使用ElasticSearch(三)通过ES语义检索,实现RAG" target="_blank">在nodejs中使用ElasticSearch(三)通过ES语义检索,实现RAG</a>
                        <span class="text-muted">konglong127</span>
<a class="tag" taget="_blank" href="/search/nodejs/1.htm">nodejs</a><a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/%E5%85%A8%E6%96%87%E6%A3%80%E7%B4%A2/1.htm">全文检索</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>RAG(Retrieval-AugmentedGeneration)是一种结合了信息检索和生成模型的技术,旨在提高生成模型的知识获取和生成能力。它通过在生成的过程中引入外部知识库或文档(如数据库、搜索引擎或文档存储),帮助生成更为准确和丰富的答案。RAG在自然语言处理(NLP)领域,特别是在对话生成、问答系统和文本摘要等任务中,具有非常重要的应用。它的核心思想是,生成模型不仅依赖于模型内部的知识,</div>
                    </li>
                    <li><a href="/article/1896013344322678784.htm"
                           title="XSL样式表1" target="_blank">XSL样式表1</a>
                        <span class="text-muted">xuefeimengli2010</span>
<a class="tag" taget="_blank" href="/search/xsl/1.htm">xsl</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E6%A1%A3/1.htm">文档</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80/1.htm">语言</a><a class="tag" taget="_blank" href="/search/xslt/1.htm">xslt</a>
                        <div>第9章XSL样式表9。1什么是xsl9。2导入XSL样式表9。3不同的XML样式表9。4XSL的基本元素9。5如何选择节点9。6匹配节点的典型情况9。7常用的XSL函数介绍·XSL中文翻译为“可扩展的样式语言”·包括XSLT变换语言和XSL-FO格式化语言两分·XSLT·规定如何将XML文档变换成另一个XML文档。·变换后的XML文档可使用原文档的标记和DTD。·大多数情况下,它会使用一组不同的标</div>
                    </li>
                    <li><a href="/article/1896012458175295488.htm"
                           title="MySQL数据库(触发器,视图,函数)" target="_blank">MySQL数据库(触发器,视图,函数)</a>
                        <span class="text-muted">可儿可爱</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/database/1.htm">database</a>
                        <div>触发器视图函数分配用户和权限以及远程登录索引三大范式1.触发器Trigger触发器:数据库中的一个对象,相当于JS中的监听器,触发器可以监听增删改三个动作比如说我想监听一张表,只要我增删改了这张表中的数据,我就可以触发这个触发器,去往另外一张表中记录一下日志。语法:DELIMITER$$CREATETRIGGER`mytestdb`.`myTriger`BEFORE/AFTERINSERT/UPD</div>
                    </li>
                    <li><a href="/article/1896011072146567168.htm"
                           title="如何解析配置文件" target="_blank">如何解析配置文件</a>
                        <span class="text-muted">啊念着倒嘛干</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a>
                        <div>如何解析配置文件什么是配置文件?在计算机科学领域,配置文件(英语:configurationfile)是一种计算机文件,可以为一些计算机程序配置参数和初始设置。一个项目中,为什么要设置一个配置文件呢?方便修改参数设置和逻辑代码分离(解耦)(高内聚,低耦合)常见的配置文件格式:aaa.inixxx.xmlxxxxx.jsonxxfada.yaml什么是json文本、字符串、有固定的格式,格式长得像p</div>
                    </li>
                    <li><a href="/article/1896010315632537600.htm"
                           title="Office 2013、2016、2019三版本区别" target="_blank">Office 2013、2016、2019三版本区别</a>
                        <span class="text-muted">小魚資源大雜燴</span>
<a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a>
                        <div>界面设计Office2013:采用全新的简约化界面,扁平化的设计风格,这种风格在后续的2016版、2019版中也一直被沿用。Office2016:界面与2013版相似,但在细节上可能有一些优化和调整,整体更加成熟和稳定,对于常用功能的布局和展示也更加合理。Office2019:在用户界面和用户体验方面进行了一些改进,软件更加直观和易用,图标设计、菜单布局等方面更加现代化。功能改进Office201</div>
                    </li>
                    <li><a href="/article/1896006282071044096.htm"
                           title="javaScript-系统知识点【 常见问题及其解决办法】" target="_blank">javaScript-系统知识点【 常见问题及其解决办法】</a>
                        <span class="text-muted">大麦大麦</span>
<a class="tag" taget="_blank" href="/search/2025/1.htm">2025</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E9%9D%A2%E7%BB%8F/1.htm">前端面经</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/ecmascript/1.htm">ecmascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a>
                        <div>会造成内存泄漏的情况(中级)setTimeout的第⼀个参数使⽤字符串⽽非函数的话,会引发内存泄漏。//setTimeout的错误使用setTimeout('666',100)//setTimeout的正确用法setTimeout(()=>{console.log('666')},1000)前端常见内存泄漏及解决方案如何捕获JS程序的异常?两种方式trycatchwindow.onerror//手</div>
                    </li>
                    <li><a href="/article/1896006029829795840.htm"
                           title="2025前端最新面试题-网络篇" target="_blank">2025前端最新面试题-网络篇</a>
                        <span class="text-muted">大麦大麦</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a>
                        <div>1.现代浏览器为何要禁用第三方cookie为了用户的安全(安全和隐私是浏览器永恒的话题)第三方cookie会记录用户的行为和数据,方便做广告有些浏览器默认禁止,Chrome增加了SameSite(谷歌有广告)cookie可以实现不同域共享吗同一主域名下的子域名,cookie可以共享2.实现心跳检验-用于断线重连functionHeartbeaet(){lettimer=0functionfn(){</div>
                    </li>
                    <li><a href="/article/1896004265420320768.htm"
                           title="Flutter鸿蒙项目—如何添加对华为鸿蒙系统的支持" target="_blank">Flutter鸿蒙项目—如何添加对华为鸿蒙系统的支持</a>
                        <span class="text-muted">不入流HarmonyOS开发</span>
<a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99/1.htm">鸿蒙</a><a class="tag" taget="_blank" href="/search/HarmonyOS/1.htm">HarmonyOS</a><a class="tag" taget="_blank" href="/search/OpenHarmony/1.htm">OpenHarmony</a><a class="tag" taget="_blank" href="/search/flutter/1.htm">flutter</a><a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a><a class="tag" taget="_blank" href="/search/OpenHarmony/1.htm">OpenHarmony</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91/1.htm">鸿蒙应用开发</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99%E5%BC%80%E5%8F%91/1.htm">鸿蒙开发</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99/1.htm">鸿蒙</a>
                        <div>1.DevEcoStudio4.0Release版鸿蒙环境安装打开IDE,按照引导,安装环境即可,注意,nodejs选择v16.20。Mac下,在.bash_profile配置如下环境变量exportPATH=/Users/用户名/Documents/DevEcoProjects/dev/bin:$PATHexportNODE_HOME=/Users/用户名/nodejsexportPATH=$N</div>
                    </li>
                    <li><a href="/article/1896004012122107904.htm"
                           title="RabbitMQ复习" target="_blank">RabbitMQ复习</a>
                        <span class="text-muted">SJLoveIT</span>
<a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a>
                        <div>消息中间件的作用:(1)异步处理(2)应用解耦(3)流量削峰消息中间件的缺点:引入了新的东西,也就增加了新的故障点。比如消息中间件挂了,影响系统的可用性。两种框架:JMS和AMQP最大的区别是JMS是是javaapi,对跨平台的支持较差,但在纯java技术栈内首选。AMQP是跨平台的,序列化方式选json,不管你是java,php,C/C++,python,都能处理RabbitMQ实现的事AMQP</div>
                    </li>
                                <li><a href="/article/45.htm"
                                       title="安装数据库首次应用" target="_blank">安装数据库首次应用</a>
                                    <span class="text-muted">Array_06</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a>
                                    <div>可是为什么再一次失败之后就变成直接跳过那个要求 
enter full pathname of java.exe的界面 
 
 
这个java.exe是你的Oracle 11g安装目录中例如:【F:\app\chen\product\11.2.0\dbhome_1\jdk\jre\bin】下的java.exe 。不是你的电脑安装的java jdk下的java.exe! 
注意第一次,使用SQL D</div>
                                </li>
                                <li><a href="/article/172.htm"
                                       title="Weblogic Server Console密码修改和遗忘解决方法" target="_blank">Weblogic Server Console密码修改和遗忘解决方法</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/Welogic/1.htm">Welogic</a>
                                    <div>        在工作中一同事将Weblogic的console的密码忘记了,通过网上查询资料解决,实践整理了一下。 
一.修改Console密码 
        打开weblogic控制台,安全领域 --> myrealm -->&n</div>
                                </li>
                                <li><a href="/article/299.htm"
                                       title="IllegalStateException: Cannot forward a response that is already committed" target="_blank">IllegalStateException: Cannot forward a response that is already committed</a>
                                    <span class="text-muted">Cwind</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Servlets/1.htm">Servlets</a>
                                    <div>对于初学者来说,一个常见的误解是:当调用 forward() 或者 sendRedirect() 时控制流将会自动跳出原函数。标题所示错误通常是基于此误解而引起的。   示例代码:   
protected void doPost() {
    if (someCondition) {
        sendRedirect();
    }
    forward(); // Thi</div>
                                </li>
                                <li><a href="/article/426.htm"
                                       title="基于流的装饰设计模式" target="_blank">基于流的装饰设计模式</a>
                                    <span class="text-muted">木zi_鸣</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a>
                                    <div>当想要对已有类的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能。 
自定义的类成为装饰类 
 
模仿BufferedReader,对Reader进行包装,体现装饰设计模式 
 
装饰类通常会通过构造方法接受被装饰的对象,并基于被装饰的对象功能,提供更强的功能。 
装饰模式比继承灵活,避免继承臃肿,降低了类与类之间的关系 
 
装饰类因为增强已有对象,具备的功能该</div>
                                </li>
                                <li><a href="/article/553.htm"
                                       title="Linux中的uniq命令" target="_blank">Linux中的uniq命令</a>
                                    <span class="text-muted">被触发</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>Linux命令uniq的作用是过滤重复部分显示文件内容,这个命令读取输入文件,并比较相邻的行。在正常情 况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如 果输入文件用“- ”表示,则从标准输入读取。 
AD: 
uniq [选项] 文件 
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个</div>
                                </li>
                                <li><a href="/article/680.htm"
                                       title="正则表达式Pattern" target="_blank">正则表达式Pattern</a>
                                    <span class="text-muted">肆无忌惮_</span>
<a class="tag" taget="_blank" href="/search/Pattern/1.htm">Pattern</a>
                                    <div>正则表达式是符合一定规则的表达式,用来专门操作字符串,对字符创进行匹配,切割,替换,获取。 
  
例如,我们需要对QQ号码格式进行检验 
规则是长度6~12位  不能0开头  只能是数字,我们可以一位一位进行比较,利用parseLong进行判断,或者是用正则表达式来匹配[1-9][0-9]{4,14} 或者 [1-9]\d{4,14} 
&nbs</div>
                                </li>
                                <li><a href="/article/807.htm"
                                       title="Oracle高级查询之OVER (PARTITION BY ..)" target="_blank">Oracle高级查询之OVER (PARTITION BY ..)</a>
                                    <span class="text-muted">知了ing</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a>
                                    <div>一、rank()/dense_rank() over(partition by ...order by ...) 
 
现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下面的SQL语句: 
 
 select e.ename, e.job, e.sal, e.deptno  
  from scott.emp e,  
       (se</div>
                                </li>
                                <li><a href="/article/934.htm"
                                       title="Python调试" target="_blank">Python调试</a>
                                    <span class="text-muted">矮蛋蛋</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/pdb/1.htm">pdb</a>
                                    <div>原文地址: 
http://blog.csdn.net/xuyuefei1988/article/details/19399137 
1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧: 
 
IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试: 
 
http://www.ibm.com/d</div>
                                </li>
                                <li><a href="/article/1061.htm"
                                       title="webservice传递自定义对象时函数为空,以及boolean不对应的问题" target="_blank">webservice传递自定义对象时函数为空,以及boolean不对应的问题</a>
                                    <span class="text-muted">alleni123</span>
<a class="tag" taget="_blank" href="/search/webservice/1.htm">webservice</a>
                                    <div>今天在客户端调用方法 
NodeStatus status=iservice.getNodeStatus(). 
 
结果NodeStatus的属性都是null。 
 
进行debug之后,发现服务器端返回的确实是有值的对象。 
 
后来发现原来是因为在客户端,NodeStatus的setter全部被我删除了。 
本来是因为逻辑上不需要在客户端使用setter, 结果改了之后竟然不能获取带属性值的</div>
                                </li>
                                <li><a href="/article/1188.htm"
                                       title="java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针" target="_blank">java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针</a>
                                    <span class="text-muted">百合不是茶</span>

                                    <div>C语言的强大在于可以直接操作指针的地址,通过改变指针的地址指向来达到更改地址的目的,又是由于c语言的指针过于强大,初学者很难掌握, java的出现解决了c,c++中指针的问题 java将指针封装在底层,开发人员是不能够去操作指针的地址,但是可以通过引用来间接的操作: 
  
定义一个指针p来指向a的地址(&是地址符号): 
        </div>
                                </li>
                                <li><a href="/article/1315.htm"
                                       title="Eclipse打不开,提示“An error has occurred.See the log file ***/.log”" target="_blank">Eclipse打不开,提示“An error has occurred.See the log file ***/.log”</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a>
                                    <div>打开eclipse工作目录的\.metadata\.log文件,发现如下错误: 
 
!ENTRY org.eclipse.osgi 4 0 2012-09-10 09:28:57.139 
!MESSAGE Application error 
!STACK 1 
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContai</div>
                                </li>
                                <li><a href="/article/1442.htm"
                                       title="spring aop实例annotation方法实现" target="_blank">spring aop实例annotation方法实现</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/AOP/1.htm">AOP</a><a class="tag" taget="_blank" href="/search/annotation/1.htm">annotation</a>
                                    <div>        在spring aop实例中我们通过配置xml文件来实现AOP,这里学习使用annotation来实现,使用annotation其实就是指明具体的aspect,pointcut和advice。1.申明一个切面(用一个类来实现)在这个切面里,包括了advice和pointcut 
AdviceMethods.jav</div>
                                </li>
                                <li><a href="/article/1569.htm"
                                       title="[Velocity一]Velocity语法基础入门" target="_blank">[Velocity一]Velocity语法基础入门</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/velocity/1.htm">velocity</a>
                                    <div>用户和开发人员参考文档 
http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html 
  注释 
1.行级注释## 
2.多行注释#*  *# 
  变量定义 
使用$开头的字符串是变量定义,例如$var1, $var2, 
  赋值 
使用#set为变量赋值,例</div>
                                </li>
                                <li><a href="/article/1696.htm"
                                       title="【Kafka十一】关于Kafka的副本管理" target="_blank">【Kafka十一】关于Kafka的副本管理</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a>
                                    <div>1. 关于request.required.acks 
  
request.required.acks控制者Producer写请求的什么时候可以确认写成功,默认是0, 
0表示即不进行确认即返回。 
1表示Leader写成功即返回,此时还没有进行写数据同步到其它Follower Partition中 
-1表示根据指定的最少Partition确认后才返回,这个在 
  
Th</div>
                                </li>
                                <li><a href="/article/1823.htm"
                                       title="lua统计nginx内部变量数据" target="_blank">lua统计nginx内部变量数据</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/lua+nginx%E3%80%80+%E7%BB%9F%E8%AE%A1/1.htm">lua nginx  统计</a>
                                    <div>server {
    listen 80;
    server_name photo.domain.com;
    location /{set $str $uri;
        content_by_lua '
            local url = ngx.var.uri
            local res = ngx.location.capture(</div>
                                </li>
                                <li><a href="/article/1950.htm"
                                       title="java-11.二叉树中节点的最大距离" target="_blank">java-11.二叉树中节点的最大距离</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>
import java.util.ArrayList;
import java.util.List;


public class MaxLenInBinTree {

	/*
	 a.			1
	 		   /  \
	 		  2    3
	 		 / \  / \
	 		4   5 6  7
	 	max=4	pass "root"
	 </div>
                                </li>
                                <li><a href="/article/2077.htm"
                                       title="Netty源码学习-ReadTimeoutHandler" target="_blank">Netty源码学习-ReadTimeoutHandler</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/netty/1.htm">netty</a>
                                    <div> 
ReadTimeoutHandler的实现思路: 
开启一个定时任务,如果在指定时间内没有接收到消息,则抛出ReadTimeoutException 
这个异常的捕获,在开发中,交给跟在ReadTimeoutHandler后面的ChannelHandler,例如 
 
 

private final ChannelHandler timeoutHandler =
	new ReadTim</div>
                                </li>
                                <li><a href="/article/2204.htm"
                                       title="jquery验证上传文件样式及大小(好用)" target="_blank">jquery验证上传文件样式及大小(好用)</a>
                                    <span class="text-muted">cngolon</span>
<a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0/1.htm">文件上传</a><a class="tag" taget="_blank" href="/search/jquery%E9%AA%8C%E8%AF%81/1.htm">jquery验证</a>
                                    <div><!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script src="jquery1.8/jquery-1.8.0.</div>
                                </li>
                                <li><a href="/article/2331.htm"
                                       title="浏览器兼容【转】" target="_blank">浏览器兼容【转】</a>
                                    <span class="text-muted">cuishikuan</span>
<a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">浏览器</a><a class="tag" taget="_blank" href="/search/IE/1.htm">IE</a>
                                    <div>浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同 
 
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。 
 
碰到频率:100% 
 
解决方案:CSS里    *{margin:0;padding:0;} 
 
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设</div>
                                </li>
                                <li><a href="/article/2458.htm"
                                       title="Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数" target="_blank">Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/%24%23/1.htm">$#</a><a class="tag" taget="_blank" href="/search/%24%3F/1.htm">$?</a><a class="tag" taget="_blank" href="/search/%E7%89%B9%E6%AE%8A%E5%8F%98%E9%87%8F/1.htm">特殊变量</a>
                                    <div>前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:   
 
  $echo $$  
   
运行结果 
29949 
   特殊变量列表   变量 含义   $0 当前脚本的文件名   $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个</div>
                                </li>
                                <li><a href="/article/2585.htm"
                                       title="程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!" target="_blank">程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/unix/1.htm">unix</a>
                                    <div>翻到一本书,讲到编程一般原则是kiss:Keep It Simple, Stupid.对这个原则深有体会,其实不仅编程如此,而且系统架构也是如此。 
 KEEP IT SIMPLE, STUPID! 编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原</div>
                                </li>
                                <li><a href="/article/2712.htm"
                                       title="android Activity间List传值" target="_blank">android Activity间List传值</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/Activity/1.htm">Activity</a>
                                    <div>第一个Activity: 
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import a</div>
                                </li>
                                <li><a href="/article/2839.htm"
                                       title="tomcat 设置java虚拟机内存" target="_blank">tomcat 设置java虚拟机内存</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/tomcat+%E5%86%85%E5%AD%98%E8%AE%BE%E7%BD%AE/1.htm">tomcat 内存设置</a>
                                    <div>转载请出自出处:http://eksliang.iteye.com/blog/2117772 
http://eksliang.iteye.com/ 
常见的内存溢出有以下两种: 
java.lang.OutOfMemoryError: PermGen space  
java.lang.OutOfMemoryError: Java heap space 
  
------------</div>
                                </li>
                                <li><a href="/article/2966.htm"
                                       title="Android 数据库事务处理" target="_blank">Android 数据库事务处理</a>
                                    <span class="text-muted">gqdy365</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事</div>
                                </li>
                                <li><a href="/article/3093.htm"
                                       title="Java 打开浏览器" target="_blank">Java 打开浏览器</a>
                                    <span class="text-muted">hw1287789687</span>
<a class="tag" taget="_blank" href="/search/%E6%89%93%E5%BC%80%E7%BD%91%E5%9D%80/1.htm">打开网址</a><a class="tag" taget="_blank" href="/search/open%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">open浏览器</a><a class="tag" taget="_blank" href="/search/open+browser/1.htm">open browser</a><a class="tag" taget="_blank" href="/search/%E6%89%93%E5%BC%80url/1.htm">打开url</a><a class="tag" taget="_blank" href="/search/%E6%89%93%E5%BC%80%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">打开浏览器</a>
                                    <div>使用java 语言如何打开浏览器呢? 
我们先研究下在cmd窗口中,如何打开网址 
使用IE 打开 
D:\software\bin>cmd /c start iexplore http://hw1287789687.iteye.com/blog/2153709 
使用火狐打开 
D:\software\bin>cmd /c start firefox http://hw1287789</div>
                                </li>
                                <li><a href="/article/3220.htm"
                                       title="ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件" target="_blank">ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件</a>
                                    <span class="text-muted">justjavac</span>
<a class="tag" taget="_blank" href="/search/chrome/1.htm">chrome</a><a class="tag" taget="_blank" href="/search/Google/1.htm">Google</a><a class="tag" taget="_blank" href="/search/google+api/1.htm">google api</a><a class="tag" taget="_blank" href="/search/chrome%E6%8F%92%E4%BB%B6/1.htm">chrome插件</a>
                                    <div>Chrome Web Store 安装地址: https://chrome.google.com/webstore/detail/replace-google-cdn/kpampjmfiopfpkkepbllemkibefkiice 
 
 由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了。 同样,通过script标记引用这些资源,让网站访问速度瞬间提速吧</div>
                                </li>
                                <li><a href="/article/3347.htm"
                                       title="进程VS.线程" target="_blank">进程VS.线程</a>
                                    <span class="text-muted">m635674608</span>
<a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B/1.htm">线程</a>
                                    <div>资料来源: 
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000 1、Apache最早就是采用多进程模式 2、IIS服务器默认采用多线程模式 3、多进程优缺点 优点: 
多进程模式最大</div>
                                </li>
                                <li><a href="/article/3474.htm"
                                       title="Linux下安装MemCached" target="_blank">Linux下安装MemCached</a>
                                    <span class="text-muted">字符串</span>
<a class="tag" taget="_blank" href="/search/memcached/1.htm">memcached</a>
                                    <div>前提准备:1. MemCached目前最新版本为:1.4.22,可以从官网下载到。2. MemCached依赖libevent,因此在安装MemCached之前需要先安装libevent。2.1 运行下面命令,查看系统是否已安装libevent。[root@SecurityCheck ~]# rpm -qa|grep libevent libevent-headers-1.4.13-4.el6.n</div>
                                </li>
                                <li><a href="/article/3601.htm"
                                       title="java设计模式之--jdk动态代理(实现aop编程)" target="_blank">java设计模式之--jdk动态代理(实现aop编程)</a>
                                    <span class="text-muted">Supanccy2013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/AOP/1.htm">AOP</a>
                                    <div>    与静态代理类对照的是动态代理类,动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。 
&</div>
                                </li>
                                <li><a href="/article/3728.htm"
                                       title="Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持" target="_blank">Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持</a>
                                    <span class="text-muted">wiselyman</span>
<a class="tag" taget="_blank" href="/search/spring+4/1.htm">spring 4</a>
                                    <div>2.1 默认方法(default method) 
 
 java8引入了一个default medthod; 
 用来扩展已有的接口,在对已有接口的使用不产生任何影响的情况下,添加扩展 
 使用default关键字 
 Spring 4.2支持加载在默认方法里声明的bean 
  
2.2 
 
 将要被声明成bean的类 
  
public class DemoService {
    </div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>