2022最全最新前端面试题(附加解答)
2022最全最新前端面试题(附加解答)
JS
1、说一下innerHTML 与 innerText的作用与区别?
作用:都可以获取或者设置元素的内容
区别:innerHTML可以解析内容中的html标签
innerText不能解析内容中的html标签
2、JavaScript 由以下三部分组成:
ECMAScript(语法部分):JavaScript 语言基础
DOM(文档对象模型):规定了访问 HTML 和 XML 的方法
BOM(浏览器对象模型):提供了浏览器窗口之间进行交互的对象和方法
3、介绍 JS 有哪些内置对象?
数据封装类对象:Object、Array、Boolean、Number、String
其他对象:Function、Arguments、Math、Date、RegExp、Error
ES6 新增对象:Symbol、Map、Set、Promises、Proxy、Reflect
4、JS 的基本数据类型和引用数据类型
基本(原始)数据类型: number、string、boolean、undefined, null, symbol
引用数据类型: Object、Function、Array
5、说几条写 JavaScript 书写的基本规范?
代码一定要正确缩进,建议使用"二个或者四个空格"缩进
语句结束使用分号;
规范定义 JSON 对象,补全双引号
用{}和[]声明对象和数组
变量和函数在使用前进行声明
以大写字母开头命名构造函数,全大写命名常量
代码段使用花括号{}包裹
还有要书写正确的标识标签
6、什么是标识符?
在JS中,可以自定义命名的东西都属性标识符;
比如变量名,函数名,参数名都是标识符
7、DOM 元素e的 e.getAttribute(propName)和 e.propName 有什么区别和联系
e.getAttribute:获取的是标签上属性
可以通过e.setAttribute(propName, propValue)设置标签上属性
e.propName:获取的是元素对象上属性
8、offsetWidth/offsetHeight,clientWidth/clientHeight,scrollWidth/scrollHeight 的区别?
offsetWidth/offsetHeight 返回值包含 content + padding + border + 包含滚动条,效果与 e.getBoundingClientRect()相同
clientWidth/clientHeight 返回值只包含 content + padding,如果有滚动条,也不包含滚动条
scrollWidth/scrollHeight 返回值包含 content + padding + 溢出内容的尺寸
9、检测浏览器版本版本有哪些方式?
根据 navigator.userAgent // UA.toLowerCase().indexOf('chrome')
10、说一下元素节点、文本节点、属性节点的nodeType、nodeName、nodeValue分别是什么
nodeType(节点类型) nodeName(节点名称) nodeValue(节点的值)
元素节点: 1 元素标签名 null(没有值)
属性节点: 2 属性名 属性值
文本节点: 3 text 节点内容
11、 ==
和 ===
的区别
双等号判断时,只需要值相等
三等号判断时,需要值与类型都相等
12、函数声明与函数表达式的区别?
数声明就是直接通过function进行声明函数,例如:function show(){}可以在声明函数之前调用0函
13、数组方法pop() push() unshift() shift()
pop()尾部删除
push()尾部添加
unshift()头部添加
shift()头部删除
14、ajax请求的时候get 和post方式的区别
(1)get请求
参数要跟在url后面 安全性不高 传输数据比较小,但速度快 一般用于获取,删除
(2)post请求
参数会放在请求体中, 安全性相对高些 传输数据大,但相对速度慢些 post一般用于修改或者添加
15、解释什么是Json:
json是一种轻量级的数据交换格式,一般用于数据传递
里边只允许出现双引号
JSON的语法表示三种类型值,简单值(字符串,数值,布尔值,null), 数组,对象
16、dom事件委托什么原理,有什么优缺点 事件委托原理: 事件冒泡机制(把子元素的事件行为 委托给 父级元素执行优点)
优点: 1. 可以大量节省内存占用,减少事件注册 2. 可以实现当新增子对象时,无需再对其进行事件绑定
缺点: 如果把所有事件都用事件代理,可能会出现事件误判
17、Javascript的事件流模型都有什么?
“事件冒泡”:事件逐级向上传播
“事件捕捉”:事件逐级向下传播,一直到最具体的
“DOM事件流”:三个阶段:事件捕捉,目标阶段,事件冒泡
18、split() join() 的区别
split():以指定的字符分割字符串返回一个数组,字符串方法
join(): 以指定的字符连接数组中元素返回一个字符串,数组方法
19、如何阻止事件冒泡
ev.stopPropagation();
20、如何阻止默认事件
答案:return false 或者 ev.prevent Default();
21、JavaScript中如何检测一个变量是一个 String 类型?
typeof 变量
变量.constructor === String
Object.prototype.toString.call(变量) // 推荐使用
22、javascript 的 typeof 返回哪些数据类型(至少六个)检测类型如下:
string、 number、 boolean 、undefined 、object 、function 、symbol(ES6之后新增的类型)
23、如何判断变量为NaN
通过isNaN()判断
isNaN(NaN) // 返回true
isNaN(1000) // 返回false
isNaN('小明') // 返回true(判断前会转换成number类型)
isNaN('101') // 返回false
24、什么是JS变量提升 与 块级作用域
变量提升 :就是会把变量定义提升到当前作用域的最上面
块级作用域 :JS 中作用域有:全局作用域、函数作用域。没有块作用域的概念。ES6中新增了块级作用域。块作用域由 { } 包括,if 语句和 for 语句里面的{ }也属于块作用域。在外边不能调用块作用域里边定义的变量
25、null / undefined 的区别
null值: 属于null类型,代表“空值",代表一个空对象指针;使用typeof运算得到 “object",所以你可以认为它是一个特殊的对象值。
undefined值: 属于undefined类型,当一个声明的变量未初始化赋值时,得到的就是undefined。使用typeof运算得到“undefined",
26、foo = foo || bar,这行代码是什么意思?为什么要这样写?
如果foo转为false, 则返回bar;否则直接返回foo
逻辑或:如果第一个值为true,直接返回第一个值;否则直接返回第二个值
逻辑与:如果第一个值为false,直接返回第一个值;否则返回第二个值、
27、target 和 currentTarget 区别
都是事件对象上的属性
event.target:返回触发事件的元素
event.currentTarget:返回绑定事件的元素(相当于事件中this)
28、prototype 和 proto 的关系是什么
prototype : 所有函数都会有一个prototype属性, 它就是函数的原型对象
proto : 所有实例对象上都会有一个proto 属性, 它等同于函数的原型对象
(补充说明) 原型链:因为所有实例对象都原型对象,原型对象也个对象, 所以它也自己原型对象(这样形成原型链)
答案:
所有的对象都拥有proto 属性,它指向对象构造函数的 prototype 属性
所有的函数都同时拥有proto 和 prototype 属性
函数的proto 指向自己的函数实现 函数的 protytpe 是一个对象(原型)
所以函数的 prototype 也有proto 属性 指向 Object.prototype
Object.prototype.proto 指向 null
29、请说一下你常用的数组方法(至少七个) 答案:
1)Array.push() :此方法是在数组的后面添加新加元素,此方法改变了数组的长度:
2)Array.pop() :此方法在数组后面删除最后一个元素,并返回数组,此方法改变了数组的长度:
3) Array.shift() :此方法在数组后面删除第一个元素,并返回数组,此方法改变了数组的长度:
4) Array.unshift() :此方法是将一个或多个元素添加到数组的开头,并返回新数组的长度:
5)Array.isArray() :判断一个对象是不是数组,返回的是布尔值
6) Array.concat() :此方法是一个可以将多个数组拼接成一个数组:
7)Array.toString() : 把数组作为字符串返回
8) Array.join() :以指定字符拼接成字符串,然后返回
9) Array.splice: (开始位置, 删除的个数,元素)
10)Array.map() :此方法是将数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,并没有改变原来的数组
11)Array.forEach() :此方法是将数组中的每个元素执行传进提供的函数,没有返回值,直接改变原数组,注意和 map 方法区分
12)Array.filter() :此方法是将所有元素进行判断,将满足条件的元素作为一个新的数组返回
13)Array.every() :此方法是将所有元素进行判断返回一个布尔值,如果所有元素都满足判断条件,则返回 true,否则为 false:
14)Array.some() :此方法是将所有元素进行判断返回一个布尔值,如果存在元素都满足判断条件,则返回 true,若所有元素都不满足判断条件,则返回 false:
15)Array.reduce() :此方法是所有元素调用返回函数,返回值为最后结果,传入的值必须是函数类型:
与之相对应的还有一个 Array.reduceRight() 方法,区别是这个是从右向左操作
30、请说一下你常用的字符串方法(至少七个)
trim(): 去首尾空格
split(sep,limit): 将字符串分割为字符数组,limit 为从头开始执行分割的最大数量
indexOf(str): 返回 str 在父串中第一次出现的位置,若没有则返回-1
lastIndexOf(str): 返回 str 在父串中最后一次出现的位置,若没有则返回-1
substr(start,length): 从字符索引 start 的位置开始,返回长度为 length 的子串
substring(from,to): 返回字符索引在 from 和 to(不含)之间的子串
slice(start,end): 返回字符索引在 start 和 end(不含)之间的子串
toLowerCase(): 将字符串转换为小写
toUpperCase(): 将字符串转换为大写
replace(str1,str2): str1 也可以为正则表达式,用 str2 替换 str1
concat(str1,str2,...): 连接多个字符串,返回连接后的字符串的副本
match(regex): 搜索字符串,并返回正则表达式的所有匹配
charAt(index): 返回指定索引处的字符串
charCodeAt(index): 返回指定索引处的字符的 Unicode 的值
fromCharCode(): 将 Unicode 值转换成实际的字符串
search(regex): 基于正则表达式搜索字符串,并返回第一个匹配的位置
valueOf(): 返回原始字符串值
31、原型和原型链
原型: portoType这个属性就是函数的原型
原型链: 1.所有对象都有原型,而原型本身就是对象,所以原型也有自己的原型对象,就形成原型链
如果对象本身没有属性,则就会去原型链上去找
Object原型对象的原型值为null
32、new操作符具体做了什么?
在内存创建一个新对象
把构造函数中this指向新建的对象
会在新对象上添加一个__proto__属性,指向函数的原型对象prototype
判断函数返回值,如果值是引用类型就直接返回值;否则返回this(创建的新对象)
33、说下什么是IIFE函数
IIFE(立即调用函数表达式)是一个在定义时就会立即执行的函数。
34、浅拷贝与深拷贝有何区别?如何实现?
浅拷贝: 拷贝的是原对象的内存地址
深拷贝: 在内存中把原对象复制一份
浅拷贝的实现方式有:
(1)直接变量赋值
(2)Object.assign();但目标对象只有一层的时候,是深拷贝;
(3)扩展运算符(...);目标对象只有一层的时候,是深拷贝;
深拷贝就是在拷贝数据的时候,将数据的所有引用结构都拷贝一份。
(1)结合使用JSON.parse()和JSON.stringify()方法。
(2)手写遍历递归赋值;
35、字符串截取方法substr、 substring、 slice三者的区别
substr(n,m):截取的是字符串中索引为n开始的,并且截取m位
substring(n,m):从索引为n的位置开始截取,截取到索引为m的位置但是不包含索引为m这一项
slice(n,m):和substring一样,但是他可以支持负数索引
36、函数柯里化
概念 :把一个接收多个参数的函数变成接收单一参数 并且返回能够接收新参数的函数;比如:
add(1)(2)(3)(4) = 10;
function add(num){
var sum=num;
var fn=function(v){
sum+=v;
return fn
};
fn.toString=function(){
return sum
};
return fn
}
console.log(add(1)(2)(3)(4)) // 10
37、判断Array类型的几种方式0
1、[ ] instanceof Array
2、[ ].constructor === Array
3、Object.prototype.toString.call([]) === '[object Array]'
4、Array.isArray([])
38.this指向的各种情况都有什么?
全局作用域中的函数:非严格模式下其内部this指向window
对象内部的函数:其内部this指向对象本身:
构造函数:其内部this指向生成的实例:
由apply、call、bind改造的函数:其this指向第一个参数:
箭头函数:箭头函数没有自己的this,看其外层的是否有函数,如果有,外层函数的this就是内部箭头函数的this,如果没有,则this是window。(函数定义时的this,而不是调用时this)
39.什么是AJAX?如何实现?
ajax是一种能够实现网页局部刷新的技术,可以使网页异步刷新。
ajax的实现主要包括四个步骤:
(1)创建核心对象XMLhttpRequest;
(2)利用open方法打开与服务器的连接;
(3)利用send方法发送请求;("POST"请求时,还需额外设置请求头)
(4)监听服务器响应,接收返回值。
40.什么是高阶函数?
高阶函数是对其他函数进行操作的函数;
高阶函数就是一个接收函数作为参数或将函数作为输出返回的函数。
例如,Array.prototype.map,Array.prototype.filter 和Array.prototype.reduce 是语言中内置的一些高阶函数。
41、描述浏览器的渲染过程?,DOM树和渲染树的区别?
解析 HTML 构建 DOM(DOM树),并行请求 css/image/js
CSS 文件下载完成,开始构建 CSSOM(CSS树)
CSSOM 构建结束后 和 DOM 一起生成 Render Tree(渲染树)
布局(Layout):计算出每个节点在屏幕中的位置
显示(Painting):通过显卡把页面画到屏幕上
DOM 树与 HTML 标签一一对应,包括 head 和隐藏元素
渲染树不包括 head 和隐藏元素,大段文本的每一个行都是独立节点,每一个节点都有对应的 css 属性
42、Javascript 如何实现继承?
实例继承:将子构造函数的 prototype 指向父构造函数的一个实例
原型继承:将子构造函数的 prototype 指向父构造函数的 prototype
构造函数绑定:使用 call 或 apply 方法,将父对象的构造函数绑定在子对象上
拷贝继承:如果把父对象的所有属性和方法,拷贝进子对象
ES6 语法 extends:class ColorPoint extends Point {}
43、Javascript 作用域链?
如果当前作用域没有找到属性或方法,会向上层作用域查找, 直至全局函数,这种形式就是作用域链
44、eval是做什么的? eval 的功能是把对应的字符串解析成 JS 代码并运行
应该避免使用 eval,不安全,非常耗性能(先解析成 js 语句,再执行)
由 JSON 字符串转换为 JSON 对象的时候可以用 eval('('+ str +')');
45、js延迟加载的方式有哪些? 动态创建 DOM 方式(用得最多)、defer 和 async标签属性
46、defer 和 async区别
defer 并行加载 js 文件,会按照页面上 script 标签的顺序执行
async 并行加载 js 文件,下载完成立即执行,不会按照页面上 script 标签的顺序执行
47、同步和异步的区别?
同步: 下面代码会等待上面 同步代码执行完毕
异步: 下面代码不会等待上面异步代码执行完毕
同步:浏览器访问服务器请求,用户看得到页面刷新,重新发请求,等请求完,页面刷新, 新内容出现,用户看到新内容,进行下一步操作
异步:浏览器访问服务器请求,用户正常操作,浏览器后端进行请求。 等请求完,页面不刷新,新内容也会出现,用户看到新内容
48、documen.write 和 innerHTML 的区别
document.write 只能重绘整个页面
innerHTML 可以重绘页面的某一部分
49、说说你对闭包的理解 闭包有三个特性:
函数嵌套函数
函数内部可以引用外部的参数和变量
参数和变量不会被垃圾回收机制回收,会永远留驻在内存中
使用闭包主要是为了设计私有的方法和变量。 优点:是可以避免全局变量的污染,
缺点:是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。
50、 把
放在
之前和之后有什么区别?
浏览器会如何解析它们?
按照HTML标准,在结束后出现
或任何元素的开始标签都是解析错
虽然不符合 HTML 标准,但浏览器会自动容错,使实际效果与写在
之前没有区别
浏览器的容错机制会忽略
之前的,视作
仍在 body 体内。
51、 为什么 JS 是单线程, 而不是多线程 [常考]
单线程是指 JavaScript 在执行的时候,有且只有一个主线程来处理所有的任务。
目的是为了实现与浏览器交互。
我们设想一下,如果 JavaScript 是多线程的,现在我们在浏览器中同时操作一个 DOM,一个线程要求浏览器在这个 DOM 中添加节点, 而另一个线程却要求浏览器删掉这个 DOM 节点, 那这个时候浏览器就会很郁闷,他不知道应该以哪个线程为准。 所以为了避免此类现象的发生,降低复杂度,JavaScript 选择只用一个主线程来执行代码,以此来保证程序执行的一致性。
52、请说出以下结果输出什么?为什么?
for(var i = 0; i < 5; i++) {
setTimeout(function(){
console.log(i)
}, 0)
}
答案:5个5 解释:异步代码需要等同步代码先执行,所以当异步定时器执行时, 同步的for循环已经循环完毕
53、请说出以下flag的结果?为什么?
function show(){}
function getName() { return '牛夫人' }
var flag = show() || getName()
答案:flag值为'牛夫人' 解释:1.函数都会有一个默认的返回值undefined 2.逻辑或如果第一个值成立就直接返回第一个值,否则直接返回第二个值
54、请解释一下什么是重排与重绘?
重排: 当改变dom结构的时候,就会从dom树开始从新渲染页面,这过程叫重排比如添加或者删除可见的DOM元素、元素尺寸改变、元素内容改变、浏览器窗口尺寸改变等等
重绘: 当改变样式(不改变几何结构)的时候,它会从render树开始重新开始渲染页面,这过程叫重绘,比如改变颜色,透明等
55、怎么减少重排与重绘?
尽量避免操作DOM元素
避免多次修改dom结构或者css,集中处理,只引发一次重绘或者重排
56、请解释一下什么是防抖与节流
总结:就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。
总结:就是每次触发事件的隔间至少要大于等于n秒,不会重置计时
57、说一下call、apply、bind三者的作用 与 区别
作用: 三者的作用都是可以改变函数的this指向(function对象自带的方法)
区别: 1.call、apply会直接调用原函数,bind不会直接调用函数,而会拷贝一份返回一个新函数
call、bind传参时一个个传入,而apply是把所有参数放到一个数组中传入
58、JS严格模式的使用与作用 答案: 在代码前面使用"use strict"就可以开启严格模式;
作用:
消除 Javascript 语法的一些不合理、不严谨之处,减少一些怪异行为;
消除代码运行的一些不安全之处,保证代码运行的安全;
提高编译器效率,增加运行速度;
为未来新版本的 Javascript 做好铺垫。
59、举例JS严格模式的特点
变量必须要通过修饰符进行声明
函数的参数不能有同名属性,否则报错
禁止 this 指向全局对象
增加了保留字(比如 protected 、 static 和 interface )
不能删除变量 delete prop
60、执行下面代码打印什么?为什么?
var a = {};
var b = {key: 'b'};
var c = {key: 'c'};
var d = [3,5,6];
a[b] = 123;
a[c] = 345;
a[d] = 333;
console.log(a[b]);
console.log(a[c]);
console.log(a[d]);
console.log(a[b]); // 打印:345 console.log(a[c]); // 打印:345 console.log(a[d]); // 打印:333 为什么:对象转化字符串会变成一个'[object Object]'
61、JS中的Array.prototype.splice()和Array.prototype.slice()方法作用与区别
splice(): 第一个参数为下标,第二个参数为截取个数,并且会影响原数组
slice():第一个参数为起始下标,第二个参数为结束下标,不会影响原数组
63、下方js执行后的打印值为?
function demo() {
this.length = 10;
var fn = function() {
console.log(this.length); // 输出多少?
}
arr = [fn, 'hello layui'];
fn.length = 100;
arr0;
}
window.demo()
console.log(this.length)------打印结果为2
64、事件绑定的三种方式
在标签上直接设置事件 onclik="a()"
dom.onclick = function(){}
addEventListener('click',function(){},true)
65、事件绑定和普通事件有什么区别?
dom.onclick = function(){}
addEventListener('click',function(){},true)
66、渐进增强与优雅降级
渐进增强: 针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进,达到更好的用户体验。
优雅降级: 一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。
67、浏览器对象有哪些
navigator:含有正在使用的Navigator的名称、版本属性,
window:最高等级的对象,拥有整个窗口的属性;
document:包含基于文档内容的属性
location:含有基于当前的URL的属性。
history:包含客户机先前已经请求过的URL。
68、列举3种强制类型转换(显示类型转换) 和 2种隐式类型转换
Number('1235')
parseInt('1235')
parseFloat('1235')
'10' - 0
'10' * 0
69、for in 和 for of 答案: (1)、for in
1.一般用于遍历对象的可枚举属性。以及对象从构造函数原型中继承的属性
2.不建议使用 for in 遍历数组,因为输出的顺序是不固定的。
3.如果迭代的对象的变量值是 null 或者 undefined, for in 不执行循环体,建议在使用 for in 循环之前, 先检查该对象的值是不是 null 或者 undefined
(2)、for of
for…of 语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等) 上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句
70、回答以下代码,alert的值分别是多少?
通过var(let、const)定义声明变量,如果var则就仅仅只给变量赋值
71、form中的input可以设置为readonly和disabled,请问2者有什么区别?
readonly不可编辑,但可以选择和复制;值可以传递到后台
disabled不能编辑,不能复制,不能选择;值不可以传递到后台
72、怎么降维数组 [[1,2],[3,4]] --> [1, 2, 3, 4]
使用递归循环,把所有元素放到一个新数组
Array.prototype.concat.apply([],[[1,2],[3,4]]);
73、请说出三种减低页面加载时间的方法
压缩css、js文件
合并js、css文件,减少http请求(精灵图)
外部js、css文件放在最底下
减少dom操作,尽可能用变量替代不必要的dom操作
74、基本数据类型和引用数据类型有什么区别?
(1)变量直接赋值时:
基本数据类型赋值的是数据的副本,原数据的更改不会影响传入后的数据。
引用数据类型赋值的是数据的引用地址,原数据的更改会影响传入后的数据。
(2)两者在内存中的存储位置:
基本数据类型存储在栈中。
引用数据类型在栈中存储了指针,该指针指向的数据实体存储在堆中。
75、如何改变this指针的指向?
可以使用apply、call、bind方法改变this指向(并不会改变函数的作用域)。比较如下:
(1)三者第一个参数都是this要指向的对象,也就是想指定的上下文,上下文就是指调用函数的那个对象(没有就指向全局window);
(2)apply第二个参数都是数组,call和bind接收多个参数并用逗号隔开;
(3)apply和call只对原函数做改动,bind会返回新的函数(要生效还得再调用一次)。
76、document load事件 和 document ready事件 的区别
页面加载完成有两种事件
1)load是当页面所有资源全部加载完成后(包括DOM文档树,css文件,js文件,图片资源等),执行一个函数
问题:如果图片资源较多,加载时间较长,onload后等待执行的函数需要等待较长时间,所以一些效果可能受到影响
2)$(document).ready()是当DOM文档树加载完成后执行一个函数 (不包含图片,css等)所以会比load较快执行
在原生的jS中不包括ready()这个方法,只有load方法就是onload事件
77、JS中有哪些不同类型的弹出框可用
Alert
Confirm
Prompt
78、线程与进程的区别
一个程序至少有一个进程, 一个进程至少有一个线程。
线程的划分尺度小于进程,使得多线程程序的并发性高。
另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,
由应用程序提供多个线程执行控制。
从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。
79、什么是回调
回调函数是作为参数或选项传递给某个方法的普通JS函数。
它是一个函数,在另一个函数完成调用后执行,因此称为回调。
80、如何使用 JS 删除 cookie
如果要删除cookie以便后续尝试读取cookie,则只需将过期日期设置为过去的时间。
咱们应该定义cookie路径以确保删除正确的cookie。
如果未指定路径,某些浏览器将不允许咱们删除cookie
81、2+5+'3'的结果是什么
答案:'73'
由于2和5是整数,它们将以数字形式相加。因为3是一个字符串,它将与 7 拼接,结果是73。
82、如何在JS中清空数组
1、arrayList = []
2、arrayList.length = 0;
3、arrayList.splice(0, arrayList.length);
4、 while(arrayList.length){
arrayList.pop();
}
83、innerHTML 和 innerText 的共同点与区别
innerHTML可以解析内容中html标签
innerText不可以解析内容中html标签
84、请选择结果为真的表达式:(C)
A.null instanceof Object
B.null === undefined
C.null == undefined+
D.NaN == NaN
86、原生JS中如何从一个页面 跳转 到另一个页面
location.href = '路径'
location.replace('路径')
87、在JS中编码与解码URL
.encodeURI() 可以对字符串编码
.decodeURI() 可以对字符串解码
88、callee 与 call 与 caller的区别:
callee是arguments上面的属性,表示当前正在执行的函数
call改变函数调用时里边this的指向
caller是函数上的一个属性,它指向当前函数外一层函数,没有外一层函数,则为null
89、什么是jsonp
jsonp是一种解决跨域请求问题的技术
不足点:它只能是get请求
90、[1, 2, 3].map(Math.pow)的结果是什么?
请说出代码的运行结果,为什么?
结果时 129
map()会根据提供提供的函数对指定序列(列表)做映射。
pow()方法返回 x的y次方的值。 map(function(当前元素的值value,下标index));
91、toString() 与 valueOf()的区别
toString() 方法返回一个表示该对象的字符串。
valueOf() 方法返回指定对象的原始值, 如果对象没有原始值,则valueOf将返回对象本身
92、怎么自定义一个dom事件,并且编程式触发它?
通过new Event('事件名')创建一个事件对象
给指定元素绑定事件
document.dispatchEvent(事件对象)来触发事件
示例
const ev = new Event('abc');
document.addEventListener('abc', function (e) {
console.log('abc事件触发了。。。。。。')
})
document.dispatchEvent(ev)
93、continue 与 break的区别
continue:跳过本次循环,直接进入下一次循环
break:直接终止循环
94、简述一下你对 HTML 语义化标签的理解?
① 用正确的标签做正确的事情。 ② html语义化让页面的 内容结构化,结构更清晰, 便于对浏览器、搜索引擎解析;即使在没有样式 CSS 情况下也以一种文档格式显示, 并且是容易阅读的; ③ 搜索引擎的爬虫也依赖于 HTML 标记来确定上下文和各个关键字的权重,利于SEO; ④ 使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。
95、图片img标签title与alt属性的区别
title属性:光标移入要显示图片文字
alt属性:当图片加载失败时要显示的文字
96、HTML5 的 form 如何关闭自动完成功能?
答案:将不想要自动完成的form
或input
设置为autocomplete=off
97、简述一下 src 与 href 的区别。
答案:src 用于引用资源,替换当前元素; href 用于在当前文档和引用资源之间确立联系。
解析:
● href
href 标识超文本引用,用在 link 和 a 等元素上,href 是引用和页面关联,
是在当前元素和引用资源之间建立联系,在加载它的时候,
不会停止对当前文档的处理,
浏览器会继续往下走
若在文档中添加 href ,浏览器会识别该文档为 CSS 文件,
就会并行下载资源并且不会停止对当前文档的处理。
这也是为什么建议使link方式加载 CSS,而不是使用 @import 方式。
● src
src 表示引用资源,替换当前元素,用在 img,script,iframe 上,
src 是页面内容不可缺少的一部分。
当浏览器解析到 src ,会暂停其他资源的下载和处理
(图片不会暂停其他资源下载和处理),直到将该资源加载、编译、执行完毕,
图片和框架等也如此,类似于将所指向资源应用到当前内容。
这也是为什么建议把 js 脚本放在底部而不是头部的原因。
98、对 WEB 标准以及 W3C 的理解与认识
标签闭合、标签小写、不乱嵌套
使用外链css 和 js脚本、结构行为表现的分离、文件下载与页面速度更快
W3C标准使网站容易维护、有利于搜索引擎查找
99、Label的作用是什么?是怎么用的?
答案:label 标签来定义表单控制间的关系,**当用户选择该标签时, 浏览器会自动将焦点转到和标签相关的表单控件上**。
两种用法:一种是 id 绑定,一种是嵌套;
示例:
用户名:
100、每个 HTML 文件头里都有个很重要的东西,Doctype,知道这是干什么的么?
声明位于文档中的最前面的位置,处于 标签之前。
告知浏览器文档使用哪种 HTML 或 XHTML 规范。
告诉浏览器按照何种规范解析页(如果你的页面没有 DOCTYPE 的声明,那么 compatMode 默认就是 BackCompat,浏览器按照自己的方式解析渲染页面)
解析: doctype 是一种标准通用标记语言的文档类型声明,目的是告诉标准通用标记语言解析器要使用什么样的文档类型定义(DTD)来解析文档。 浏览器本身分为两种模式,一种是标准模式,一种是怪异模式,浏览器通过 doctype 来区分这两种模式,doctype 在 html 中的作用就是触发浏览器的标准模式,如果 html 中省略了 doctype,浏览器就会进入到 Quirks 模式的怪异状态,在这种模式下,有些样式会和标准模式存在差异,而 html 标准和 dom 标准值规定了标准模式下的行为,没有对怪异模式做出规定,因此不同浏览器在怪异模式下的处理也是不同的,所以一定要在 html 开头使用 doctype。
doctype是一种标准通用标记语言的文档类型声明;
doctype在 html中的作用就是触发浏览器的标准模式,否则为怪异模式;
不同浏览器在怪异模式下会有一些不同的表现,不建议使用怪异模式;
doctype一定需要写html上面才会生效;
-----------------------------------------------------------6月27--------------------------------------------------------------
101、为什么最好把 CSS 的
标签放在
之间? 为什么最好把 JS 的
标签恰好放在
之前,有例外情况吗?
内容规范
让页面逐步呈现,提高用户体验感
防止呈现给用户空白的页面或没有样式的内容
规范;
把
你可能感兴趣的:(面试题,前端,javascript,jquery,es6,vue.js)
Nginx面试题
努力的搬砖人.
java 后端 nginx
以下是150道Nginx面试题及其详细回答,涵盖了Nginx的基础知识、配置与优化、负载均衡、安全与性能、高级特性等多个方面,每道题目都尽量详细且简单易懂:Nginx基础概念类1.什么是Nginx?Nginx是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器。它以其事件驱动的方式处理请求,能够处理大量的并发连接,适用于高并发场景。例如,当有大量用户同时访问一
JavaScript执行机制
javascript
大纲1、场景分析2、执行机制相关知识点3、以实例来说明JavaScript的执行机制4、相关概念场景分析/*以下这段代码的执行结果是什么?如果依照:js是按照语句出现的顺序执行这个理念,那么代码执行的结果应该是://"定时器开始啦"//"马上执行for循环啦"//"执行then函数啦"//"代码执行结束"但结果并不是这样的,得到的结果是://"马上执行for循环啦"//"代码执行结束"//"执行t
JavaScript 高频面试题
好运连连女士
JavaScript javascript
文章目录JavaScript手写防抖和节流CommonJS和ES6模块的区别this指向问题,如何修改this指向引申1:模拟bind引申2:为什么多次绑定,只指向第一次绑定的obj对象?有没有解决办法?引申3:一般函数和箭头函数的区别数据类型有哪些引申1:如何判断数据类型new操作的原理引申1:什么是闭包?引申2:内存泄露和内存溢出引申3:作用域和作用域链?JS实现数组扁平化深拷贝与浅拷贝的区别
ChatGPT + Vue3:如何打造 AI 智能助手?
Js_x
chatgpt 人工智能
引言人工智能(AI)正快速渗透到前端开发领域,越来越多的开发者希望将ChatGPT集成到自己的应用中,为用户提供智能对话、自动回复、辅助决策等功能。本文将介绍如何使用Vue3+OpenAIAPI搭建一个AI智能助手,让你的应用拥有强大的AI交互能力。1.项目准备1.1技术栈选择本项目将使用以下技术:Vue3-现代化的前端框架,响应式强,适合构建交互式应用。Vite-高效的Vue3项目构建工具,提升
MySQL 5.7 vs MySQL 8.0 高频面试题解析
dblens 数据库管理和开发工具
mysql 数据库
一、基础概念与核心差异1.默认字符集的变化问:MySQL5.7和8.0的默认字符集有何不同?为什么要修改?答:MySQL5.7默认字符集为latin1,可能导致中文乱码。MySQL8.0默认改为utf8mb4(支持4字节编码,如表情符号),且默认排序规则为utf8mb4_0900_ai_ci。意义:彻底解决字符编码问题,兼容国际化需求。2.用户认证方式的演进问:从5.7到8.0,用户密码认证方式有
JavaScript相关面试题
努力的搬砖人.
javascript
以下是150道JavaScript相关面试题及详细答案:JavaScript基础1.JavaScript是什么?JavaScript是一种直译式脚本语言,主要用于网页开发,也可用于服务器端开发(如Node.js)。它是一种动态类型、弱类型、基于原型的语言,支持函数式编程和面向对象编程。2.JavaScript的基本数据类型有哪些?包括Undefined、Null、Boolean、Number、St
原生JavaScript控制页面跳转的几种方式
thinkQuadratic
javascript 前端 开发语言
在开发一些简单的页面,不需要复杂的单页面应用(SPA)功能的时候。可以使用原生JavaScript的跳转即可满足需求。另外在处理一些需要直接与服务器进行交互的表单提交后跳转,或者在某些浏览器兼容性要求较高的场景下,原生JavaScript的跳转方式更加稳定可靠。正文开始这里本地创建两个html文件进行演示,index.html和home.htmlwindow.location.hrefindex页
python后端常见架构_常见的后端框架
weixin_39622178
python后端常见架构
后端vs前端如果您是Web开发世界的新手,后端和前端开发之间的区别可能不那么明显,但是,了解两者之间的区别很重要。以下是前端开发人员与后端开发人员的一些区别。前端开发:前端开发人员在很大程度上负责用户所看到的内容(即网站页面),前端开发人员主要使用HTML,CSS和JavaScript。他们的主要关注点是创建出色的用户体验,并确保网站设计和布局或Web应用程序始终具有凝聚力。后端开发:另一方面,后
使用 CryptoJS 实现 AES 解密:动态数据解密示例
木觞清
javascript
在现代加密应用中,AES(高级加密标准)是一种广泛使用的对称加密算法。它的安全性高、效率好,适合用于各种加密任务。今天,我们将通过一个实际的示例,展示如何使用CryptoJS实现AES解密,解密动态数据。CryptoJS是一个基于JavaScript的加密库,它支持AES、DES等多种常见的加密算法。本文将详细介绍如何使用CryptoJS解密AES加密的数据。1.引入CryptoJS库首先,确保你
【实习经历Two:参与开源项目,学习并应用Git】
学前端的小乐子
开源社区实习记录 学习 git
前端参与开源项目中使用过的git1.参与开源项目(必备技能——git)参与开源项目首先需要进入自己想参加的项目页面点击右边的Fork即可复制到自己的仓库像个人开发时常用的add、commit和push等命令就不过多介绍了,在这里主要是想记录一下自己作为从未参与过开源项目的初学者遇到的一些常用知识点,很感谢本人这次实习的mt老师很有耐心地帮助我解决使用Git过程中遇到的一些问题。a.如何在commi
Axios和ajax的异同点详解以及在express后端使用redirect重定向对ajax无效的原因!
char56789
javascript node.js reactjs
问题描述:在express中使用redirect进行重定向时,页面显示是301状态码,页面不跳转!(说明在express中不能使用redirect进行重定向)究其原因:使用ajax后,后端无法直接让前端进行页面跳转。需要前端进行状态码和后端返回的数据的判断,然后前端自己进行跳转页面。因为ajax(axios只是对ajax进行了封装,ajax在此处的特性对axios也适用)是一个完整的请求和回掉的过
详细讲一下webpack中五个优化能力十分强大的插件(1-5)
asecretman!
webpack 前端 node.js
1.TerserPlugin功能:用于压缩和优化JavaScript代码,支持ES6+语法。安装:npminstallterser-webpack-plugin--save-dev配置constTerserPlugin=require('terser-webpack-plugin');module.exports={mode:'production',//设置为生产模式,启用优化optimizat
JavaScript 异步编程:从回调到 Async/Await 进化
PM简读馆
技术杂谈 javascript 开发语言 ecmascript
作者简介:程序员转项目管理领域优质创作者个人邮箱:[
[email protected] ]PMP资料导航:PM菜鸟(查阅PMP大纲考点)座右铭:上善若水,水善利万物而不争。绿泡泡:PM简读馆(包含更多PM常用免费资料)目录1.回调函数(Callback)2.Promise3.Generator4.Async/Await在JavaScript中,异步编程是一个非常重要的概念,因为JavaScript是
前端架构师具备什么能力?前端性能优化全链路指南
kerwin_1727
前端架构师具备什么能力 前端 性能优化
前端性能优化全链路指南——从构建到运行,让你的页面飞起来!一、性能优化全链路概览性能优化不是“一招鲜”,而是从构建时到运行时的全流程优化。以下是核心链路:构建时:减少打包体积(TreeShaking、CodeSplitting)。加载时:加速资源加载(懒加载、预加载)。运行时:提升渲染效率(虚拟列表、WebWorker)。监控与诊断:用工具定位问题(ChromePerformance、Lighth
html怎么获取父页面的元素的值,使用JavaScript与jQuery怎么在子窗口中获取父窗口的元素值...
weixin_39907658
使用JavaScript与jQuery怎么在子窗口中获取父窗口的元素值发布时间:2021-02-1815:42:20来源:亿速云阅读:115作者:Leah使用JavaScript与jQuery怎么在子窗口中获取父窗口的元素值?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。js:父窗口:子窗口:curproject=window.op
jquery查找父窗体id_jquery 获取父窗口的元素、父窗口、子窗口
weixin_39781550
jquery查找父窗体id
一、获取父窗口元素:$("#父窗口元素ID",window.parent.document);对应javascript版本为window.parent.document.getElementById("父窗口元素ID");取父窗口的元素方法:$(selector,window.parent.document);那么你取父窗口的父窗口的元素就可以用:$(selector,window.parent.
jquery查找父窗体id_JS与jQuery实现子窗口获取父窗口元素值的方法
北木南烟
jquery查找父窗体id
这篇文章主要介绍了JS与jQuery实现子窗口获取父窗口元素值的方法,涉及javascript与jQuery操作窗口元素的相关技巧,需要的朋友可以参考下本文实例讲述了JS与jQuery实现子窗口获取父窗口元素值的方法。分享给大家供大家参考,具体如下:功能描述:父窗口有一个input,和一个button,点击button打开子窗口,在子窗口中获取父窗口中input的值,并显示。js:父窗口:子窗口:
前端怎么处理请求失败会弹出一个 toast,如何保证批量请求失败,只弹出一个
大莲芒
前端
在前端处理批量请求时,确保只弹出一个toast通知,可以通过以下步骤实现:使用状态管理首先,您可以使用状态管理工具(例如React的useState或Redux)来跟踪请求的状态。创建一个Toast组件如果还没有创建toast组件,可以简单实现一个。以下是一个基本的Reacttoast组件示例importReactfrom'react';import'./Toast.css';//添加样式cons
Spring boot 生成动态验证码并前后端校验
解忧杂货铺Q
大后端 java spring boot vue 验证码
文章目录1生成动态验证码图片2前端调取接口3返回base64字符串3验证验证码最近需要生成一个动态的验证码,在登录页面使用,并在前后端进行校验;实现原理:后端生成动态二维码,存储在session里面;前端调取接口,展示在登录页面;前端登录时候,把验证码传给后端,后端和session里面的值进行对比。1生成动态验证码图片新建一个class类ValidateCode:packagehello;impo
在前后端分离项目中实现验证码功能
不高兴的富贵儿
java spring boot 前端
目录原理导入验证码依赖Redis工具类RedisUtils配置类CaptchaConfig验证码的文本生成器在SpringBoot里面配置RedisTemplate后端返回验证码接口登录验证(在登录方法之前执行)Login.vue原理通过工具类生成一条算术的验证规则,类似于这样的:1+1=2,其中1+1就是算术规则,2是算术结果。算术规则我们会通过图片流的形式返回给前端显示出来,让用户看到这个算术
【ES6新特性】声明变量关键字:var、let、const详解
小钟H呀
ES6新特性学习手册 es6 javascript 开发语言
前言在ES6(ECMAScript2015)之前,JavaScript中只有var关键字用于变量声明。ES6新增了let和const,它们解决了var的一些设计缺陷,使得变量声明更安全、更符合编程直觉。核心特性对比1.作用域(Scope)var:函数作用域(在函数内部声明的变量,只能在函数内部访问)let/const:块级作用域(在{}代码块中声明的变量,只能在块内访问)//var示例functi
神器 Turbo Console Log:让 `console.log` 操作一键搞定!
Judy1623
VS Code 插件 vscode 插件
在前端开发的日常里,尤其是使用VSCode调试JavaScript代码时,console.log堪称我们的“调试好帮手”。但每次都手动输入console.log语句,着实麻烦又浪费时间。今天就给大家安利一款超实用的VSCode插件——TurboConsoleLog,用了它,你会感叹为什么没有早点发现!安装和卸载步骤就不多说了,相信大家都轻车熟路。咱们直接进入重点——这款插件的快捷键使用方法。使用注
高薪程序员&面试题精讲系列131之Eureka如何实现高可用?自我保护机制是怎么回事?
一一哥Sun
Java高薪面试题精讲系列 eureka spring cloud java
一.面试题及剖析1.今日面试题你熟悉Eureka吗?服务治理是怎么回事?Eureka的服务治理包含哪些内容?自我保护机制是怎么回事?Eureka怎么实现高可用?Eureka挂了,服务间还能通信吗?Eureka的工作原理是怎么样的?2.题目剖析在上一篇文章中,
高级java每日一道面试题-2025年3月05日-微服务篇[Eureka篇]-Eureka在微服务架构中的角色?
java我跟你拼了
java每日一道面试题 架构 java 微服务 架构服务发现 健康检查 服务注册
如果有遗漏,评论区告诉我进行补充面试官:Eureka在微服务架构中的角色?我回答:在微服务架构中,Eureka作为Netflix开源的服务发现组件,在解决服务间通信的寻址问题方面扮演着至关重要的角色。以下是结合提供的内容对Eureka在微服务架构中的角色进行的详细解析和综合概述:1.服务注册(ServiceRegistration)功能:服务提供者(Provider)启动时向EurekaServe
高级java每日一道面试题-2025年3月01日-微服务篇[SpringCloud篇]-SpringCloud和微服务之间是什么关系?
java我跟你拼了
java每日一道面试题 java 微服务 spring cloud 复杂度可控 独立部署 技术选型灵活 容错性好
如果有遗漏,评论区告诉我进行补充面试官:SpringCloud和微服务之间是什么关系?我回答:在Java高级面试中讨论SpringCloud与微服务之间的关系时,理解两者如何相互作用以及SpringCloud如何支持微服务架构的具体实现是非常重要的。以下是结合提供的内容对这两者关系的详细解析和综合概述:微服务概述定义:微服务是一种将大型单体应用拆分为多个小型、独立运行的服务的设计风格。每个服务专注
基于.NET MVC实现H5页面调用手机摄像头扫描二维码完整方案
Bart_Lu
.net mvc
一、前言在移动端Web开发中,二维码扫描功能已成为常见需求。本文将介绍如何在ASP.NETMVC框架下,通过HTML5技术调用手机摄像头实现二维码扫描功能,并提供完整的代码实现方案。二、技术选型前端库:使用ZXing-js(支持浏览器二维码解析)后端框架:ASP.NETMVC5浏览器API:MediaDevicesAPI三、实现步骤1.准备工作在MVC项目中引入所需库:html运行HTML2.创建
高级java每日一道面试题-2025年3月04日-微服务篇[Eureka篇]-Eureka是什么?
java我跟你拼了
java每日一道面试题 java 微服务 eureka 组件和架构 集群部署 自我保护机制 健康检查
如果有遗漏,评论区告诉我进行补充面试官:Eureka是什么?我回答:在Java高级面试中,关于Eureka的讨论通常会涵盖其基本概念、组件与架构、工作原理、高级特性以及与其他服务发现工具的比较等多个方面。以下是结合提供的内容对Eureka进行的详细解析和综合概述:一、Eureka的基本概念Eureka是Netflix开源的服务注册与发现组件,广泛应用于SpringCloud生态系统中,主要用于解决
前端框架革命:React与Vue对比与解析
WHCIS
Web开发技术 前端框架 react.js vue.js
一、框架设计哲学的本质差异1.1React:以JavaScript为核心的函数式哲学React的核心思想可以概括为**“UI即函数”**,其设计遵循以下原则:React核心声明式编程组件即函数单向数据流JSX描述UI函数组件+Hook状态提升模式声明式编程:开发者只需描述界面应该呈现的最终状态,无需关心具体DOM操作细节不可变数据流:通过setState触发组件树更新,保持数据流向的可预测性虚拟D
Vue源码深度解析:从2.x到3.x的架构演进与核心原理剖析
旧味清欢|
Vue vue.js 架构 前端
Vue源码深度解析:从2.x到3.x的架构演进与核心原理剖析一、框架演变:从Vue2到Vue3的跨越1.1革命性升级Vue3的发布标志着前端框架进入新纪元,其核心改进体现在三个方面:性能飞跃:包体积减少41%,初始渲染提速55%,更新性能提升133%开发体验:CompositionAPI带来更好的逻辑复用能力未来兼容:完善的TypeScript支持与渐进式升级策略1.2兼容性设计通过@vue/co
基于Spring Boot+vue技术的导游系统设计与实现
除了菜一无所有!
spring boot vue.js 后端
论文下载【免费】基于SpringBoot+vue技术的导游系统设计与实现资源-CSDN文库摘要本研究背景主要聚焦于当前旅游业信息化、智能化的发展趋势。随着移动互联网的普及和人们出行方式的多样化,导游系统作为旅游服务的重要组成部分,亟需进行技术革新以提升用户体验和服务效率。本研究旨在利用SpringBoot后端框架与Vue前端框架,构建一个功能丰富、交互友好的导游系统。研究内容主要包括系统需求分析、
Spring的注解积累
yijiesuifeng
spring 注解
用注解来向Spring容器注册Bean。
需要在applicationContext.xml中注册:
<context:component-scan base-package=”pagkage1[,pagkage2,…,pagkageN]”/>。
如:在base-package指明一个包
<context:component-sc
传感器
百合不是茶
android 传感器
android传感器的作用主要就是来获取数据,根据得到的数据来触发某种事件
下面就以重力传感器为例;
1,在onCreate中获得传感器服务
private SensorManager sm;// 获得系统的服务
private Sensor sensor;// 创建传感器实例
@Override
protected void
[光磁与探测]金吕玉衣的意义
comsci
这是一个古代人的秘密:现在告诉大家
信不信由你们:
穿上金律玉衣的人,如果处于灵魂出窍的状态,可以飞到宇宙中去看星星
这就是为什么古代
精简的反序打印某个数
沐刃青蛟
打印
以前看到一些让求反序打印某个数的程序。
比如:输入123,输出321。
记得以前是告诉你是几位数的,当时就抓耳挠腮,完全没有思路。
似乎最后是用到%和/方法解决的。
而今突然想到一个简短的方法,就可以实现任意位数的反序打印(但是如果是首位数或者尾位数为0时就没有打印出来了)
代码如下:
long num, num1=0;
PHP:6种方法获取文件的扩展名
IT独行者
PHP 扩展名
PHP:6种方法获取文件的扩展名
1、字符串查找和截取的方法
1
$extension
=
substr
(
strrchr
(
$file
,
'.'
), 1);
2、字符串查找和截取的方法二
1
$extension
=
substr
面试111
文强chu
面试
1事务隔离级别有那些 ,事务特性是什么(问到一次)
2 spring aop 如何管理事务的,如何实现的。动态代理如何实现,jdk怎么实现动态代理的,ioc是怎么实现的,spring是单例还是多例,有那些初始化bean的方式,各有什么区别(经常问)
3 struts默认提供了那些拦截器 (一次)
4 过滤器和拦截器的区别 (频率也挺高)
5 final,finally final
XML的四种解析方式
小桔子
dom jdom dom4j sax
在平时工作中,难免会遇到把 XML 作为数据存储格式。面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历 XML 这块来测试,因为遍历 XML 是工作中使用最多的(至少我认为)。 预 备 测试环境: AMD 毒龙1.4G OC 1.5G、256M DDR333、Windows2000 Server
wordpress中常见的操作
aichenglong
中文注册 wordpress 移除菜单
1 wordpress中使用中文名注册解决办法
1)使用插件
2)修改wp源代码
进入到wp-include/formatting.php文件中找到
function sanitize_user( $username, $strict = false
小飞飞学管理-1
alafqq
管理
项目管理的下午题,其实就在提出问题(挑刺),分析问题,解决问题。
今天我随意看下10年上半年的第一题。主要就是项目经理的提拨和培养。
结合我自己经历写下心得
对于公司选拔和培养项目经理的制度有什么毛病呢?
1,公司考察,选拔项目经理,只关注技术能力,而很少或没有关注管理方面的经验,能力。
2,公司对项目经理缺乏必要的项目管理知识和技能方面的培训。
3,公司对项目经理的工作缺乏进行指
IO输入输出部分探讨
百合不是茶
IO
//文件处理 在处理文件输入输出时要引入java.IO这个包;
/*
1,运用File类对文件目录和属性进行操作
2,理解流,理解输入输出流的概念
3,使用字节/符流对文件进行读/写操作
4,了解标准的I/O
5,了解对象序列化
*/
//1,运用File类对文件目录和属性进行操作
//在工程中线创建一个text.txt
getElementById的用法
bijian1013
element
getElementById是通过Id来设置/返回HTML标签的属性及调用其事件与方法。用这个方法基本上可以控制页面所有标签,条件很简单,就是给每个标签分配一个ID号。
返回具有指定ID属性值的第一个对象的一个引用。
语法:
&n
励志经典语录
bijian1013
励志 人生
经典语录1:
哈佛有一个著名的理论:人的差别在于业余时间,而一个人的命运决定于晚上8点到10点之间。每晚抽出2个小时的时间用来阅读、进修、思考或参加有意的演讲、讨论,你会发现,你的人生正在发生改变,坚持数年之后,成功会向你招手。不要每天抱着QQ/MSN/游戏/电影/肥皂剧……奋斗到12点都舍不得休息,看就看一些励志的影视或者文章,不要当作消遣;学会思考人生,学会感悟人生
[MongoDB学习笔记三]MongoDB分片
bit1129
mongodb
MongoDB的副本集(Replica Set)一方面解决了数据的备份和数据的可靠性问题,另一方面也提升了数据的读写性能。MongoDB分片(Sharding)则解决了数据的扩容问题,MongoDB作为云计算时代的分布式数据库,大容量数据存储,高效并发的数据存取,自动容错等是MongoDB的关键指标。
本篇介绍MongoDB的切片(Sharding)
1.何时需要分片
&nbs
【Spark八十三】BlockManager在Spark中的使用场景
bit1129
manager
1. Broadcast变量的存储,在HttpBroadcast类中可以知道
2. RDD通过CacheManager存储RDD中的数据,CacheManager也是通过BlockManager进行存储的
3. ShuffleMapTask得到的结果数据,是通过FileShuffleBlockManager进行管理的,而FileShuffleBlockManager最终也是使用BlockMan
yum方式部署zabbix
ronin47
yum方式部署zabbix
安装网络yum库#rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm 通过yum装mysql和zabbix调用的插件还有agent代理#yum install zabbix-server-mysql zabbix-web-mysql mysql-
Hibernate4和MySQL5.5自动创建表失败问题解决方法
byalias
J2EE Hibernate4
今天初学Hibernate4,了解了使用Hibernate的过程。大体分为4个步骤:
①创建hibernate.cfg.xml文件
②创建持久化对象
③创建*.hbm.xml映射文件
④编写hibernate相应代码
在第四步中,进行了单元测试,测试预期结果是hibernate自动帮助在数据库中创建数据表,结果JUnit单元测试没有问题,在控制台打印了创建数据表的SQL语句,但在数据库中
Netty源码学习-FrameDecoder
bylijinnan
java netty
Netty 3.x的user guide里FrameDecoder的例子,有几个疑问:
1.文档说:FrameDecoder calls decode method with an internally maintained cumulative buffer whenever new data is received.
为什么每次有新数据到达时,都会调用decode方法?
2.Dec
SQL行列转换方法
chicony
行列转换
create table tb(终端名称 varchar(10) , CEI分值 varchar(10) , 终端数量 int)
insert into tb values('三星' , '0-5' , 74)
insert into tb values('三星' , '10-15' , 83)
insert into tb values('苹果' , '0-5' , 93)
中文编码测试
ctrain
编码
循环打印转换编码
String[] codes = {
"iso-8859-1",
"utf-8",
"gbk",
"unicode"
};
for (int i = 0; i < codes.length; i++) {
for (int j
hive 客户端查询报堆内存溢出解决方法
daizj
hive 堆内存溢出
hive> select * from t_test where ds=20150323 limit 2;
OK
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
问题原因: hive堆内存默认为256M
这个问题的解决方法为:
修改/us
人有多大懒,才有多大闲 (评论『卓有成效的程序员』)
dcj3sjt126com
程序员
卓有成效的程序员给我的震撼很大,程序员作为特殊的群体,有的人可以这么懒, 懒到事情都交给机器去做 ,而有的人又可以那么勤奋,每天都孜孜不倦得做着重复单调的工作。
在看这本书之前,我属于勤奋的人,而看完这本书以后,我要努力变成懒惰的人。
不要在去庞大的开始菜单里面一项一项搜索自己的应用程序,也不要在自己的桌面上放置眼花缭乱的快捷图标
Eclipse简单有用的配置
dcj3sjt126com
eclipse
1、显示行号 Window -- Prefences -- General -- Editors -- Text Editors -- show line numbers
2、代码提示字符 Window ->Perferences,并依次展开 Java -> Editor -> Content Assist,最下面一栏 auto-Activation
在tomcat上面安装solr4.8.0全过程
eksliang
Solr solr4.0后的版本安装 solr4.8.0安装
转载请出自出处:
http://eksliang.iteye.com/blog/2096478
首先solr是一个基于java的web的应用,所以安装solr之前必须先安装JDK和tomcat,我这里就先省略安装tomcat和jdk了
第一步:当然是下载去官网上下载最新的solr版本,下载地址
Android APP通用型拒绝服务、漏洞分析报告
gg163
漏洞 android APP 分析
点评:记得曾经有段时间很多SRC平台被刷了大量APP本地拒绝服务漏洞,移动安全团队爱内测(ineice.com)发现了一个安卓客户端的通用型拒绝服务漏洞,来看看他们的详细分析吧。
0xr0ot和Xbalien交流所有可能导致应用拒绝服务的异常类型时,发现了一处通用的本地拒绝服务漏洞。该通用型本地拒绝服务可以造成大面积的app拒绝服务。
针对序列化对象而出现的拒绝服务主要
HoverTree项目已经实现分层
hvt
编程 .net Web C# ASP.ENT
HoverTree项目已经初步实现分层,源代码已经上传到 http://hovertree.codeplex.com请到SOURCE CODE查看。在本地用SQL Server 2008 数据库测试成功。数据库和表请参考:http://keleyi.com/a/bjae/ue6stb42.htmHoverTree是一个ASP.NET 开源项目,希望对你学习ASP.NET或者C#语言有帮助,如果你对
Google Maps API v3: Remove Markers 移除标记
天梯梦
google maps api
Simply do the following:
I. Declare a global variable:
var markersArray = [];
II. Define a function:
function clearOverlays() {
for (var i = 0; i < markersArray.length; i++ )
jQuery选择器总结
lq38366
jquery 选择器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
基础数据结构和算法六:Quick sort
sunwinner
Algorithm Quicksort
Quick sort is probably used more widely than any other. It is popular because it is not difficult to implement, works well for a variety of different kinds of input data, and is substantially faster t
如何让Flash不遮挡HTML div元素的技巧_HTML/Xhtml_网页制作
刘星宇
html Web
今天在写一个flash广告代码的时候,因为flash自带的链接,容易被当成弹出广告,所以做了一个div层放到flash上面,这样链接都是a触发的不会被拦截,但发现flash一直处于div层上面,原来flash需要加个参数才可以。
让flash置于DIV层之下的方法,让flash不挡住飘浮层或下拉菜单,让Flash不档住浮动对象或层的关键参数:wmode=opaque。
方法如下:
Mybatis实用Mapper SQL汇总示例
wdmcygah
sql mysql mybatis 实用
Mybatis作为一个非常好用的持久层框架,相关资料真的是少得可怜,所幸的是官方文档还算详细。本博文主要列举一些个人感觉比较常用的场景及相应的Mapper SQL写法,希望能够对大家有所帮助。
不少持久层框架对动态SQL的支持不足,在SQL需要动态拼接时非常苦恼,而Mybatis很好地解决了这个问题,算是框架的一大亮点。对于常见的场景,例如:批量插入/更新/删除,模糊查询,多条件查询,联表查询,