
01 JavaSctipt 中使用 typeof 能得到的类型有哪些?
这道题考察的是 JS 的变量类型,JS 的变量类型有值类型和引用类型两种,值类型包括 undefined、字符串、数字、布尔值,引用类型包括对象、数组、函数
① null 是 object 对象,一个空的指针,并没有指向任何真实的引用类型
② typeof 只能区分值类型的详细类型
③ typeof 能区分函数

02 什么时候使用 === 什么时候使用 == ?
这道题考察的是强制类型转换,而在 JS 当中,在进行字符串拼接、== 运算符、if 语句、逻辑运算时会发生类型转换



判断一个变量会被当做 ture 还是 false,可以用两个 ! 进行判断

在 jQuery 源码中,所有的 if 判断,都是使用 ===,除了下面这种情况,这里相当于 obj.a === null || obj.a ===undefined 的简写形式
if(obj.a == null) {
...
}
03 JS 中有哪些内置函数?
这道题考察的是数据封装类对象,常见的内置函数有 Object, Array, Boolean, Number, String, Function, Date, RegExp, Error
04 JS 变量按照存储方式区分为哪些类型?并描述其特点
// 值类型
var a = 100;
var b = a;
a = 200;
console.log(b) //100
// 引用类型
var a = {age:20};
var b = a;
b.age = 21;
console.log(a.age) //21
特点:值类型可以把数值分块存储在内存中;引用类型则是好几个变量共用一个内存块,它是一个变量指针的赋值,不是一个真正的拷贝
05 如何理解 JSON
JSON 是一个数据格式,也是一个 JS 对象,JSON 常用的两个 API 如下
// 把对象转换成字符串
JSON.stringify({a:10, b:20})
// 把字符串转换成对象
JSON.parse('{"a":10, "b":20}')
06 如何准确判断一个变量是数组类型?

07 写一个原型链继承的例子
我们在这里写一个封装 DOM 查询的例子
function Elem(id) {
this.elem = document.getElementById(id);
}
Elem.prototype.html = function(val){
var elem = this.elem
if(val){
elem.innerHTML = val;
return this; // 链式操作
}else {
return elem.innerHTML;
}
}
Elem.prototype.on = function(type, fn){
var elem = this.elem;
elem.addEventListener(type, fn)
}



08 描述 new 一个对象的过程
a. 创建一个新对象;b. this 指向这个新对象;c. 执行代码,即对 this 赋值;d. 返回 this
function Human(name, age){
this.name = name;
this.age = age;
this.food = 'niangao';
// return this; // 默认有这一行
}
var h1 = new Human('李泽言', 28);
var h2 = new Human('白起', 24);
09 判断一个函数是否是一个变量的构造函数
instanceof 用于判断引用类型属于哪个构造函数的方法,也可以判断一个变量是否为数组:变量 instanceof Array,h1 instanceof Human 的判断逻辑是:h1 的 __proto__ 一层一层往上,能否对应到 Human.prototype,也可以判断 h1 instanceof Object,矩形为构造函数,圆角矩形为对象


原型规则 a:所有的引用类型(数组、对象、函数)都具有对象特性,即可自由扩展属性(除了 null 以外)
var obj = {}; obj.a = 100;
var arr = []; arr.a = 100;
function fn () {}; fn.a = 100;
原型规则 b:所有的引用类型(数组、对象、函数)都有一个 __proto__ 属性(隐式原型),属性值是一个普通的对象

原型规则 c:所有的函数,都有一个 prototype 属性(显式原型),属性值也是一个普通的对象

原型规则 d:所有的引用类型(数组、对象、函数),__proto__ 属性值指向它的构造函数的 prototype 属性值

原型规则 e:当试图得到一个对象(引用类型)的某个属性时,如果这个对象本身没有这个属性,那么会去它的 __proto__(即它的构造函数 prototype)中寻找
需要注意的是,无论是函数自身的属性,还是从原型中得到的属性, this 永远指向对象本身
function Human(name, age) {
this.name = name;
}
Human.prototype.alertName = function() {
alert(this.name)
}
var h = new Human('Nian糕')
h.printName = function() {
console.log(this.name)
}
h.printName();
h.alertName();

10 循环对象自身的属性
var item
for (item in f) {
// 高级浏览器已经在 for in 中屏蔽了来自原型的属性
// 但是这里建议大家还是加上这个判断,保证程序的健壮性
if(f.hasOwnProperty(item)) {
console.log(item)
}
}

行文过程中出现错误或不妥之处在所难免,希望大家能够给予指正,以免误导更多人,最后,如果你觉得我的文章写的还不错,希望能够点一下喜欢和关注,为了我能早日成为简书优秀作者献上一发助攻吧,谢谢!^ ^
目录第1题连续问题分析:解法:第2题分组问题分析:解法:第3题间隔连续问题分析:解法:第4题打折日期交叉问题分析:解法:第5题同时在线问题分析:解法:第1题连续问题如下数据为蚂蚁森林中用户领取的减少碳排放量iddtlowcarbon10012021-12-1212310022021-12-124510012021-12-134310012021-12-134510012021-12-132310022021-12-144510012021-12-1423010022021-12-154510012021-12-1523.......找出连续3天及以上减少碳排放量在100以上的用户分析:遇到这类
我遇到了一个非常奇怪的问题,我很难解决。在我看来,我有一个与data-remote="true"和data-method="delete"的链接。当我单击该链接时,我可以看到对我的Rails服务器的DELETE请求。返回的JS代码会更改此链接的属性,其中包括href和data-method。再次单击此链接后,我的服务器收到了对新href的请求,但使用的是旧的data-method,即使我已将其从DELETE到POST(它仍然发送一个DELETE请求)。但是,如果我刷新页面,HTML与"new"HTML相同(随返回的JS发生变化),但它实际上发送了正确的请求类型。这就是这个问题令我困惑的
我有这个:AccountSummary我想单击该链接,但在使用link_to时出现错误。我试过:bot.click(page.link_with(:href=>/menu_home/))bot.click(page.link_with(:class=>'top_level_active'))bot.click(page.link_with(:href=>/AccountSummary/))我得到的错误是:NoMethodError:nil:NilClass的未定义方法“[]” 最佳答案 那是一个javascript链接。Mechan
目录0专栏介绍1平面2R机器人概述2运动学建模2.1正运动学模型2.2逆运动学模型2.3机器人运动学仿真3动力学建模3.1计算动能3.2势能计算与动力学方程3.3动力学仿真0专栏介绍?附C++/Python/Matlab全套代码?课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。?详情:图解自动驾驶中的运动规划(MotionPlanning),附几十种规划算法1平面2R机器人概述如图1所示为本文的研究本体——平面2R机器人。对参数进行如下定义:机器人广义坐标
网站的日志分析,是seo优化不可忽视的一门功课,但网站越大,每天产生的日志就越大,大站一天都可以产生几个G的网站日志,如果光靠肉眼去分析,那可能看到猴年马月都看不完,因此借助网站日志分析工具去分析网站日志,那将会使网站日志分析工作变得更简单。下面推荐两款网站日志分析软件。第一款:逆火网站日志分析器逆火网站日志分析器是一款功能全面的网站服务器日志分析软件。通过分析网站的日志文件,不仅能够精准的知道网站的访问量、网站的访问来源,网站的广告点击,访客的地区统计,搜索引擎关键字查询等,还能够一次性分析多个网站的日志文件,让你轻松管理网站。逆火网站日志分析器下载地址:https://pan.baidu.
一、机器人介绍 此处是基于MATLABRVC工具箱,对ABB-IRB-1200型号的微型机械臂进行正逆向运动学分析,并利Simulink工具实现对机械臂进行具有动力学参数的末端轨迹规划仿真,最后根据机械模型设计Simulink-Adams联合仿真。 图1.ABBIRB 1200尺寸参数示意图ABBIRB 1200提供的两种型号广泛适用于各作业,且两者间零部件通用,两种型号的工作范围分别为700 mm 和 900 mm,大有效负载分别为 7 kg 和5 kg。 IRB 1200 能够在狭小空间内能发挥其工作范围与性能优势,具有全新的设计、小型化的体积、高效的性能、易于集成、便捷的接
目录一.大致如下常见问题:(1)找不到程序所依赖的Qt库version`Qt_5'notfound(requiredby(2)CouldnotLoadtheQtplatformplugin"xcb"in""eventhoughitwasfound(3)打包到在不同的linux系统下,或者打包到高版本的相同系统下,运行程序时,直接提示段错误即segmentationfault,或者Illegalinstruction(coredumped)非法指令(4)ldd应用程序或者库,查看运行所依赖的库时,直接报段错误二.问题逐个分析,得出解决方法:(1)找不到程序所依赖的Qt库version`Qt_5'
我看到有关未找到文件min.map的错误消息:GETjQuery'sjquery-1.10.2.min.mapistriggeringa404(NotFound)截图这是从哪里来的? 最佳答案 如果ChromeDevTools报告.map文件的404(可能是jquery-1.10.2.min.map、jquery.min.map或jquery-2.0.3.min.map,但任何事情都可能发生)首先要知道的是,这仅在使用DevTools时才会请求。您的用户不会遇到此404。现在您可以修复此问题或禁用sourcemap功能。修复:获取文
我想使用ruby-prof和JMeter分析Rails应用程序。我对分析特定Controller/操作/或模型方法的建议方法不感兴趣,我想分析完整堆栈,从上到下。所以我运行这样的东西:RAILS_ENV=productionruby-prof-fprof.outscript/server>/dev/null然后我在上面运行我的JMeter测试计划。然而,问题是使用CTRL+C或SIGKILL中断它也会在ruby-prof可以写入任何输出之前杀死它。如何在不中断ruby-prof的情况下停止mongrel服务器? 最佳答案
我有一个用Rails3编写的站点。我的帖子模型有一个名为“内容”的文本列。在帖子面板中,html表单使用tinymce将“content”列设置为textarea字段。在首页,因为使用了tinymce,post.html.erb的代码需要用这样的原始方法来实现。.好的,现在如果我关闭浏览器javascript,这个文本区域可以在没有tinymce的情况下输入,也许用户会输入任何xss,比如alert('xss');.我的前台会显示那个警告框。我尝试sanitize(@post.content)在posts_controller中,但sanitize方法将相互过滤tinymce样式。例如