1 用jquery写一个完整的ajax请求,分别用get 和post
$.ajax({
url:url ,
type:’get’/’post’,
data:data,
dataType:’json’,
success:function(data){}
error:function(e) {}
})
2 用juqery写一个完整的ajax跨域请求
$.ajax({
url:url ,
type:'get',
data:data,
dataType:’jsonp’,
jsonp:’callback’,
success:function(data){},
error:function(e){}
})
3 点击button键让元素隐藏
Html :
<input type=’button’ id=’bt’ value=’隐藏模块’/>
<div id = ‘thisDiv’ ></div>
Css:
#thisDiv {
200px;
height:50px;
background:#ccc;
}
Js:
window.onload = function(){
var obt = document.getElementById(‘bt’);
var odiv = document.getElementById(‘thisDiv’)
obt.onclick =function(){
odiv.style.display ===’none’
}
}
4 点击button键控制Div的显示和隐藏(或者类似的题)
Html :
<input type=’button’ id=’bt’ value=’显示模块’/>
<div id = ‘thisDiv’ style = ‘display:none’ ></div>
Css:
#thisDiv {
200px;
height:50px;
background:#ccc;
}
Js:
Window.onload = function(){
var obt = document.getElementById(‘bt’);
var odiv = document.getElementById(‘thisDiv’)
obt.onclick =function(){
if(odiv.style.display ===’none’){
odiv.style.display = ‘block’;
obt.value = ‘隐藏模块’
}else {
odiv.style.display = ‘none’;
obt.value = ‘显示模块’
}
}
}
5 统计一个字符串中出现次数最多的字符,并打印(或者类似的题)
var str = 'abcdefgadddda';
var obj = {};
var len = str.length;
for(var i=0;i<len;i++){
var key = str[i];
if(typeof obj[key] === 'undefined'){
obj[key] = 1;
} else{
obj[key]++;
}
}
// obj = {a:3,b:1,c:1,d:5,e:1,f:1,g:1};
var max = -1;
var max_key = '';
var key;
for(key in obj){
if(max < obj[key]){
max = obj[key];
max_key = key;
}
}
alert('出现次数最多的字符:'+max_key+',出现次数:'+max);
===============================================================
1. jquary中如何代码优化
总是使用#id去寻找element.
在Classes前面使用Tags或者ID
缓存jQuery对象
利用链式操作
2.jquary常用的DOW操作有什么?
append()
appendTo()
prepend()
prependTo()
insertBefore()
insertAfter()
remove()
empty()
clone()
children()
next()
prev()
eq()
find()
index()
filter()
3.prop和attr的区别
在jQuery中,prop()函数的设计目标是用于设置或获取指定DOM元素(指的是JS对象,Element类型)上的属性(property);
attr()函数的设计目标是用于设置或获取指定DOM元素所对应的文档节点上的属性(attribute)。
4.jq中的ajax get post的区别
1.使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来
2.使用Get请求发送数据量小,Post请求发送数据量大
3.get请求需注意缓存问题,post请求不需担心这个问题
5.点击事件中,行内占击与js中的占击事件有什么区别
不用写window onload,行内不用获取元素
6.获取数据后怎么解决缓存问题
解决缓存 在地址里拼接缓存因子 就是随机数 或时间对象
7.自己做的插件原理(根据各自的项目经验提问)
8.自执行函数的用途与执行环境
防止变量名冲突
9.ajax的执行原理:
Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。
10.$.ajax等于什么?
等于他里面定义的函数体
$.ajax() 返回一个对象就是它创建的XMLHttpRequest 对象
11.缓存内部经常出现版本号,那个是为什么?
那就是随便拼的一个东西
12.jquary 有哪些选择器
id
class
标签
筛选器:
:first
:not(selector)
:even
:odd
:eq(index)
:lt(index)
:gt(index)
:last
:focus
:hidden
:visible
[attribute=value]
:first-child
:last-child
:first-of-type
:last-of-type
:nth-child
:enabled
:disabled
:checked
:selected
13.jquary的attr prop val 有什么区别?
1.自己的属性用prop 自定义的用attr,
2.复选框checkbox的check属性获取要用prop(),用attr()获取不到
3.prop()和val()都能获取到文本框的实际value值,而attr()获取的则始终为文档结构中的value的属性值,与文本框实际值无关,并不会变化。
14.append appendto 分别是什么?
A.appendTo(B) 把A剪切掉放,到B内部 的最后位置,
A.append(B) 把B插入 到A内部 的最后
15.jquary中的ajax的post方法返回什么对象?
promise对象
16.promise对象有什么用途,特点?
当有多个请求之间有相互依赖关系(紧接着的请求需要上一次请求的返回结果),这时promise的作用就凸显出来了。如果不用promise,常规做法只能callback层层嵌套,俗称callback hell,可读性和维护性都很差的。
Promise最大的好处是在异步执行的流程中,把执行代码和处理结果的代码清晰地分离了,避免了层层嵌套的回调函数。
Promise 的缺点:
1.无法取消 Promise,一旦新建它就会立即执行,无法中途取消。
2.如果不设置回调函数,Promise 内部抛出的错误,不会反应到外部。
3.当处于 Pending 状态时,无法得知目前进展到哪一个阶段(刚刚开始还是即将完成)。
17.如果会bootstrap,bootstrap中如何根据已有的UI设计进行改造、BOOTSTRAP中按钮的类名
.btn .btn-defaul .btn-primary .btn-success
.btn-info .btn-warning .btn-danger .btn-link
.btn-lg .btn-sm .btn-xs
.btn-block .active
18.如果会react的,react vue angular 的区别,根据项目经验问的、使用react框架有什么好处?
1.都使用 虚拟DOM
2.提供了响应式(Reactive)和组件化(Composable)的视图组件。
3.都是以数据为中心。
4.速度接近
React 比 Vue 更好的地方,比如更丰富的生态系统
在 React 中,一切都是 JavaScript。不仅仅是 HTML 可以用 JSX 来表达,现在的潮流也越来越多地将 CSS 也纳入到 JavaScript 中来处理。