发表日期: 2021-05-07 11:15:10 浏览次数:78
兰考企业微信公众号小程序开发公司、兰考企业网页设计方案、兰考做网站开发价格、兰考微信公众号制作运营报价明细表、兰考网站设计公司费用、兰考网站推广大概需要多少钱
兰考,河南省开封市下辖县 [1-2] ,河南省直管县 [2] ,位于九曲黄河最后一道弯 [3] ,总面积1116平方公里 ,总人口85.91万人。 [4] 是河南省“一极两圈三层”中“半小时交通圈”的重要组成部分。 [5] 兰考县在春秋时为户牖邑,秦朝于县北置济阳县是兰考建县之始。公元前5年,汉光武帝刘秀生于县北济阳宫。 [6-7] 9年,改东昏县为东明县。1218年,东明县城被废为通安堡,新县城迁至黄河之北冤句县旧地。1232年,以黄河之南地析置为兰阳县、仪封县两县。1783年3月,考城县县城首次迁至兰考县境内。1825年,仪封县并入兰阳县,称兰仪县,仪封以乡隶之。1909年,为避溥仪帝讳,改兰仪县为兰封县。1954年6月,兰封县与考城县西部合并,以二县首字为名,称兰考县。 [6]
陇海铁路、郑徐高铁穿境而过设兰考站、兰考南站,兰考至菏泽菏兰城际铁路、兰考至菏泽至青岛董家口港铁路、兰考至开封郑开兰城际铁路等即将开工建设。国道G220、G310、G106在县城交汇,连霍高速公路、日南高速公路、兰焦高速公路(规划)在境内交叉而过。距离新郑机场仅1小时,距离连云港仅4小时。 [5]
兰考是泡桐之乡 [5] 、国家园林县城 、国家卫生县城 [8] 、全国文明城市提名城市 [9] 、省级生态县、全国双拥模范县、国家新型城镇化试点县 [10] 、首批国家级生态保护与建设示范区、全国社会信用体系建设综合性示范试点县 [11] 、全国首个普惠金融改革试验区 [12] 、省级可持续发展实验区 [13] 、河南改革发展和加强党的建设综合试验示范县、2019年全国村庄清洁行动先进县 [14-15] 、县城新型城镇化建设示范县。 [16]
51-JS 基本数据类型
基本数据类型:undefined、null、number、boolean、string、symbol
52-JS 深度拷贝一个元素的具体实现
var deepCopy = function(obj) {
if (typeof obj !== 'object')
return;
var newObj = obj instanceof Array ? [] : {};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
newObj[key] = typeof obj[key] === 'object' ? deepCopy(obj[key]) : obj[key];
}
}
return newObj;
}
53-之前说了 ES6 set 可以数组去重,是否还有数组去重的方法
1、indexOf 循环去重
2、Object 键值对去重;把数组的值存成 Object 的 key 值,比如 Object[value1] = true, 在判断另一个值的时候,如果 Object[value2]存在的话,就说明该值是重复的。
54-重排和重绘,讲讲看
重绘(repaint 或redraw):当盒子的位置、大小以及其他属性,例如颜色、字体大小等都确定下来之后,浏览器便把这些原色都按照各自的特性绘制一遍,将内容呈现在页面上。重绘是指一个元素外观的改变所触发的浏览器行为,浏览器会根据元素的新属性重新绘制,使元素呈现新的外观。
触发重绘的条件:改变元素外观属性。如:color,background-color 等。
注意:table 及其内部元素可能需要多次计算才能确定好其在渲染树中节点的属性值,比同等元素要多花两倍时间,这就是我们尽量避免使用table 布局页面的原因之一。
重排(重构/回流/reflow):当渲染树中的一部分(或全部)因为元素的规模尺寸,布局, 隐藏等改变而需要重新构建, 这就称为回流(reflow)。每个页面至少需要一次回流,就是在页面第一次加载的时候。
重绘和重排的关系:在回流的时候,浏览器会使渲染树中受到影响的部分失效,并重新构造这部分渲染树,完成回流后,浏览器会重新绘制受影响的部分到屏幕中,该过程称为重绘。所以,重排必定会引发重绘,但重绘不一定会引发重排。
55-JS 的全排列
function permutate(str) {
var result = [];
if(str.length > 1) {
var left = str[0];
var rest = str.slice(1, str.length);
var preResult = permutate(rest);
for(var i=0; i<preResult.length; i++) {
for(var j=0; j<preResult[i].length; j++) {
var tmp = preResult[i],slice(0, j) + left + preResult[i].slice(j, preResult[i].length);
result.push(tmp);
}
}
} else if (str.length == 1) {
return [str];
}
return result;
}
56-跨域的原理
跨域,是指浏览器不能执行其他网站的脚本。
它是由浏览器的同源策略造成的,是浏览器对JavaScript 实施的安全限制,那么只要协议、域名、端口有任何一个不同,都被当作是不同的域。
跨域原理,即是通过各种方式,避开浏览器的安全限制。
57-不同数据类型的值的比较,是怎么转换的,有什么规则
58-null == undefined 为什么
要比较相等性之前,不能将null 和 undefined 转换成其他任何值,但 null == undefined 会返回 true 。
ECMAScript 规范中是这样定义的。
59-this 的指向 哪几种
默认绑定:全局环境中,this 默认绑定到 window。
隐式绑定:一般地,被直接对象所包含的函数调用时,也称为方法调用,this 隐式绑定到该直接对象。
隐式丢失:隐式丢失是指被隐式绑定的函数丢失绑定对象,从而默认绑定到 window。
显式绑定:通过call()、apply()、bind()方法把对象绑定到this 上,叫做显式绑定。
new 绑定:如果函数或者方法调用之前带有关键字new,它就构成构造函数调用。对于this 绑定来说,称为 new 绑定。
【1】构造函数通常不使用 return 关键字,它们通常初始化新对象,当构造函数的函数体执行完毕时,它会显式返回。在这种情况下,构造函数调用表达式的计算结果就是这个新对象的值。
【2】如果构造函数使用 return 语句但没有指定返回值,或者返回一个原始值,那么这时将忽略返回值,同时使用这个新对象作为调用结果。
【3】如果构造函数显式地使用 return 语句返回一个对象,那么调用表达式的值就是这个对象。
60-暂停死区
在代码块内,使用let、const 命令声明变量之前,该变量都是不可用的。这在语法上, 称为“暂时性死区”
61-AngularJS 双向绑定原理
Angular 将双向绑定转换为一堆 watch 表达式,然后递归这些表达式检查是否发生过变化, 如果变了则执行相应的watcher 函数(指 view 上的指令,如 ng-bind,ng-show 等或是{{}})。
等到model 中的值不再发生变化,也就不会再有 watcher 被触发,一个完整的 digest 循环就完成了。
Angular 中在view 上声明的事件指令,如:ng-click、ng-change 等,会将浏览器的事件转发给$scope 上相应的model 的响应函数。
等待相应函数改变model,紧接着触发脏检查机制刷新view。
watch 表达式:可以是一个函数、可以是$scope 上的一个属性名,也可以是一个字符串形式的表达式。
$watch 函数所监听的对象叫做watch 表达式。
watcher 函数:指在view 上的指令(ngBind,ngShow、ngHide 等)以及{{}}表达式,他们所注册的函数。
每一个watcher 对象都包括:监听函数,上次变化的值,获取监听表达式的方法以及监听表达式,最后还包括是否需要使用深度对比(angular.equals())
62-写一个深度拷贝
function clone( obj ) {
var copy;
switch( typeof obj ) {
case "undefined":
break;
case "number":
copy = obj - 0;
break;
case "string":
copy = obj + "";
break;
case "boolean":
copy = obj;
break;
case "object":
//object 分为两种情况 对象(Object)和数组(Array)
if(obj === null) {
copy = null;
} else {
if( Object.prototype.toString.call(obj).slice(8, -1) === "Array") {
copy = [];
for( var i = 0 ; i < obj.length ; i++ ) {
copy.push(clone(obj[i]));
}
} else {
copy = {};
for( var j in obj) { copy[j] = clone(obj[j]);
}
}
}
break;
default:
copy = obj;
break;
}
return copy;
}
63-简历中提到了 requestAnimationFrame,请问是怎么使用的
requestAnimationFrame() 方法告诉浏览器您希望执行动画并请求浏览器在下一次重绘之前调用指定的函数来更新动画。
该方法使用一个回调函数作为参数,这个回调函数会在浏览器重绘之前调用。
兰考企业微信公众号小程序开发公司、兰考企业网页设计方案、兰考做网站开发价格、兰考微信公众号制作运营报价明细表、兰考网站设计公司费用、兰考网站推广大概需要多少钱
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: https://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 昌平殡葬| 朝阳殡葬|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878