首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

20道精选的面试题附答案,进来看看能答对多少(一)

第一:getFullname 是作为obj.prop对象的方法被调用,此时执行环境就是该对象,即返回 c 2....第二:getFullname 被分配给test变量,此时执行环境是全局对象,window,即返回 a 6、写出执行结果,并解释原因 var company = { address: 'beijing...- obj 通过prototype继承了company 的address属性,自己并没有属性,所以delete操作符是没有作用的 - delete使用原则: 是用来删除一个对象属性,但仅限于自身的属性上起作用...而是window,且全局并没有 a 属性,返回undefined,undefined - 2 返回NaN 13、 写出执行结果,并解释原因 const person = { name: "Echoyya...,并不存在于数组中,callback函数调用时会跳过,因此没有一个元素的值是undefined。

44750
您找到你想要的搜索结果了吗?
是的
没有找到

前端同学经常忽视的一个 JavaScript 面试题

对象的私有方法和属性,外部是不可以访问的 第二 第二,直接调用getName函数。...所以第二的答案就是4,5的函数声明被4的函数表达式覆盖了 第三 Foo().getName(); 先执行了Foo函数,然后调用Foo函数的返回值对象的getName属性函数。...注意:此处若依然没有找到会一直向上查找到window对象,若window对象中也没有getName属性,就在window对象中创建一个getName变量。...构造函数的返回值 传统语言中,构造函数不应该有返回值,实际执行的返回值就是此构造函数的实例化对象。 而在JS中构造函数可以有返回值也可以没有没有返回值则按照其他语言一样返回实例化对象。...之后调用实例化对象的getName函数,因为Foo构造函数中没有为实例化对象添加任何属性,当前对象的原型对象(prototype)中寻找getName函数。

45910

前端程序员经常忽视的一个JavaScript面试题

,并且公有方法是不能调用私有方法和静态方法的 静态方法和静态属性就是我们无需实例化就可以调用 而对象的私有方法和属性,外部是不可以访问的 第二 第二,直接调用getName函数。...注意:此处若依然没有找到会一直向上查找到window对象,若window对象中也没有getName属性,就在window对象中创建一个getName变量。...构造函数的返回值 传统语言中,构造函数不应该有返回值,实际执行的返回值就是此构造函数的实例化对象。 而在JS中构造函数可以有返回值也可以没有没有返回值则按照其他语言一样返回实例化对象。...')) 原题中,由于返回的是this,而this构造函数中本来就代表当前实例化对象,最终Foo函数返回实例化对象。...之后调用实例化对象的getName函数,因为Foo构造函数中没有为实例化对象添加任何属性,当前对象的原型对象(prototype)中寻找getName函数。

27810

一道常被人轻视的web前端常见面试题(JS)

此题涉及的知识点众多,包括变量定义提升、this指针指向、运算符优先级、原型、继承、全局变量污染、对象属性及原型属性优先级等等。 此题包含7小,分别说下。...注意:此处若依然没有找到会一直向上查找到window对象,若window对象中也没有getName属性,就在window对象中创建一个getName变量。...构造函数的返回值 传统语言中,构造函数不应该有返回值,实际执行的返回值就是此构造函数的实例化对象。 而在js中构造函数可以有返回值也可以没有。 1、没有返回值则按照其他语言一样返回实例化对象。...原题中,返回的是this,而this构造函数中本来就代表当前实例化对象,遂最终Foo函数返回实例化对象。...之后调用实例化对象的getName函数,因为Foo构造函数中没有为实例化对象添加任何属性,遂到当前对象的原型对象(prototype)中寻找getName,找到了。 遂最终输出3。

72830

oc深坑測试题及其答案

答案:(A) A、nonatomic:提供多线程保护,提高性能,没有使用多线程的编程中能够选择使用。...B、方括号内第一项是对象,其余部分是你须要对象运行的操作 C、Objective-C中通知对象运行某种操作,称为发送消息....A、继承 B、多态 C、类目 D、延展 40、 关于KVC的描写叙述正确的是: 答案:(B) A、KVC是指”Key-Value Observing” B、是一种间接訪对象属性的机制...C、仅仅能訪对象属性。 D、当对象属性值改变时,我们能收到一个通知。...答案:(D) A、没有getter方法,当对calvalue赋值时,将产生一个NSString副本。 B、此属性可保证多线程安全。 C、此属性合成时能够生成设置器方法。

41530

【Python】 面向对象编程(OOP)之封装的艺术

首先确定此问题中涉及的对象(此处便是班上的所有学生)。 然后了解每一个学生的兴趣、爱好、性格……以及个人能力等等。 从了解的群体中匹配一个符合班长标准的学生便可。...此问题中对象便是小狗,所以程序中需要一只小狗。 按上所述,创建小狗之前需要设计“狗类”,因此需要为类的设计提供足够的信息。 分析可得设计类时需要有小狗属性:姓名、年龄,小狗的行为:蹲下下、打滚。...此方法会在创建对象时被自动调用,用来初始化对象数据。 self.name 声明一个对象变量,此变量会保存对象的数据。 2.3 创建对象语法 有了类后,方可创建对象,有了对象后方可激活属性和方法。...class Dog(): def __init__(self, name, age): self.name = name # 私有属性属性名(age)前面双下划线的名称...封装是面向对象编程理念中最基本也是最重要的特性,没有封装便没有后续的更多。 封装可以让我们把相关联的数据与方法构建成一个逻辑上的整体,也可保护内部数据的安全性,毕竟没有数据安全性的程序是没有意义的。

36320

js代码优化日常001

str //优化后 let descArr = ['没有任何收入','您有一枚硬币了'] return descArr[number] 使用函数默认值和解构 也许你之前没有用过函数默认值,也没有分析过解构能带来什么优化...(前提是属性名一般是相同的) 说明:可能有人会为什么不直接用这个对象,答案也很简单,如果可以直接用,当然直接用是最好的,我自己写接口param的时候,就会注意这些,需要传参的部分封装到一个特殊的对象里...//优化版本一 :利用对象的解构 let {name,len,amount} = this.form //利用对象解构还可以支持属性名变更的情况 let {name,len:length,amount...propArr:['name','len','amount']}] //优化版本二 :可以支持批量的导入需要赋值的,对于拷贝对象,用source属性承接,而需要赋值的属性用propArr承接 //方法中用...批量变量重置 我们的代码中经常会遇到吧一些变量进行重置,这部分代码重复率很高又没有技术含量,所以我写一个工具方法进行简单的支持,代码优化。

1.1K30

前端面试题“七连击”(二)

Q 第六 new Foo().getName(); 答案:3 详解:这一题比上一题的唯一区别就是Foo那里多出了一个括号,这个有括号跟没括号我们第五的时候也看出来优先级是有区别的 运算优先级表...构造函数的返回值 传统语言中,构造函数不应该有返回值,实际执行的返回值就是此构造函数的实例化对象。 而在JS中构造函数可以有返回值也可以没有。 1.没有返回值则按照其他语言一样返回实例化对象。...原题中,由于返回的是this,而this构造函数中本来就代表当前实例化对象,最终Foo函数返回实例化对象。...之后调用实例化对象的getName函数,因为Foo构造函数中没有为实例化对象添加任何属性,当前对象的原型对象(prototype)中寻找getName函数。...当然这里再拓展个题外话,如果构造函数和原型链都有相同的方法,如下面的代码,那么默认会拿构造函数的公有方法而不是原型链,这个知识点在原题中没有表现出来,后面改进版我已经加上。

70960

Django 2.1.7 视图 - HttpReqeust对象、QueryDict对象

视图的第一个参数必须是HttpRequest对象django.http模块中定义了HttpRequest对象的API。 属性 下面除非特别说明,属性都是只读的。...QueryDict对象 定义django.http.QueryDict HttpRequest对象属性GET、POST都是QueryDict类型的对象 与python字典不同,QueryDict类型的对象用来处理同一个键带有多个值的情况...:表单form如何提交参数呢? 答:表单控件name属性的值作为键,value属性的值为值,构成键值对提交。 如果表单控件没有name属性则不提交。...对于checkbox控件,name属性的值相同为一组,被选中的项会被提交,出现一键多值的情况。 键是表单控件name属性的值,是由开发人员编写的。 值是用户填写或选择的。...midware.save() # return HttpResponse(servername + '/ ' + str(midname) + '/ ' + str(midport)

1.5K20

Java第一次月考50题及解析

Java语言中,由static修饰的成员变量不属于对象的数据结构,而是属于类的变量,存在于方法区,而不是堆中,一个类的static成员变量只有“一份”,而无论该类创建了多少个对象。...没有static修饰的成员变量为实例变量,是属于对象的变量,存在于堆中,实例变量有几个对象就有几份。 本题中创建了两个Aoo对象堆中会有两个实例变量x,方法区中有一个静态变量y。...A.构造方法类定义的时候被调用 B.构造方法创建对象的时候被调用 C.构造方法调用对象方法时被调用 D.构造方法使用对象的变量时被调用 【正确答案】B 【答案解析】本题考查构造方法的调用...【正确答案】C 【答案解析】本题考查构造方法的特点和作用 构造方法必须与类名相同,没有返回值类型。如果没有定义构造方法,系统会提供无参的构造方法。构造方法用来初始化成员变量和创建对象。...定义方法,如果指定了方法的特殊的返回值类型,方法中必须有return语句,如果方法没有返回值,必须使用void。 根据以上描述,本题中ABD正确,C错误,可以没有参数列表。

1.4K20

面向过程编程与面向对象编程的区别又是什么?

实例(对象): 类并不能直接使用,通过类创建出的实例(又称对象)才能使用,比如以上案例创建类对象Person。属性: 类中的所有变量称为属性。比如以上案例中类的变量有 姓名name、年龄age。...第 2 行,定义了类 Person 的方法 init方法 init 设置类 Person 的属性 name 和 age第 6 行,定义了类 Person 的方法 show,方法 show 输出类 Person...的属性 name 和 age第 9 行,通过类 Person 创建一个实例 tom实例 tom 的属性 name 是 tom,age 是 10第 10 行,通过类 Person 创建一个实例 jerry...实例 jerry 的属性 name 是 jerry,age 是 12第 11 行,调用类 tom 的方法 show第 12 行,调用类 jerry 的方法 show面向对象最重要的概念就是类和实例,...面向对象:主要找出问题中的共性问题,作为对象进行操作。话说现如今,那个年轻人不是在用命去打拼呢?遍地戾气如斯,与君更勉之。

10221

【Python100天学习笔记】Day8 面向对象编程基础

面向对象编程基础 活在当下的程序员应该都听过"面向对象编程"一词,也经常有人能不能用一句话解释下什么是"面向对象编程",我们先来看看比较正式的说法。...面向对象编程的世界中,一切皆为对象对象都有属性和行为,每个对象都是独一无二的,而且对象一定属于某个类(型)。...class Student(object): # __init__是一个特殊方法用于创建对象时进行初始化操作 # 通过这个方法我们可以为学生对象绑定name和age两个属性...,我们给Student对象绑定的name和age属性到底具有怎样的访问权限(也称为可见性)。...__foo) if __name__ == "__main__": main() 但是,Python并没有从语法上严格保证私有属性或方法的私密性,它只是给私有的属性和方法换了一个名字来妨碍对它们的访问

26220

Python编程常见问题与解答

一个版本下安装的扩展库不能在另一个版本中使用,需要分别进行安装。 9.:map对象不支持下标吗?...答:列表的sort()方法是原地排序,没有返回值。Python中,没有返回值的方法,都认为返回空值None,而空值是没有index()方法的。...20.:运行代码时提示“NameError: name 'value' is not defined”,怎么办呢? 答:根据提示信息来看,是说变量value没定义。...答:应该是文件具有“只读”之类的特殊属性,或者当前登录的用户账号没有权限访问该文件。 24.:我机器上明明是有test.txt这个文件的,为什么使用内置函数open()打开时提示文件不存在呢?...33.:程序中有个map对象,第一次使用是正常的,但是再使用时好像里面就没有元素了,这是怎么回事呢?

3.4K10

JS获取事件对象,获取事件的源对象(Firefox,IE)

下,event对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,但是没有srcElement属性.。    ...就像:document.getElementById("")这样的功能, 经常有人 firefox 下的 event.srcElement 怎么用,在此详细说明: IE下,event对象有srcElement...属性,但是没有target属性;Firefox下,event对象有target属性,但是没有srcElement属性.但他们的作用是相当的,即: firefox 下的 event.target = IE... ie中处理事件直接使用window.event对象即可,但在firefox中,是没有 window.event对象的,函数需要使用事件的时候,需要在事件发生时把事件作为参数传递给函数,不象ie...中,事件对象是全局的,随处都可以访 .下面这个getEvent()函数可以兼容firefox和ie,只需要在访问事件对象的函数的开始调用getEvent()即可,不用再把事件作为 参数传递.以下代码已经实验通过

10K50

C1 能力认证——JS基础

console.log(Math.____(8.01)) 预期输出结果: 9 ceil # 结果是向上取整了,填ceil 对象属性 考点是对象取值 点方法取值 obj[属性]取值 索引取值 要想以下JavaScript..._______('王五') console.log(obj.friends[2]) 预期输出: 王五 getNewFriend # 这里定义了一个obj对象,其中一个属性的值是一个函数,那么取这个属性值的时候...这个函数(我们可以称之为这个对象的方法)的作用是将它的参数追加到该对象的friends属性值(数组)的末尾。...我们看预期输出的打印是obj这个对象的friends属性值的索引为2的值,而friends属性在这个对象被定义的时候最大索引是1,显然它被push进了一个值。由此可知空格处该填什么了。...题中的回调函数的返回值是第一个值的age属性减去第二个值的age属性,如果小于0,item1就在item2前面,反之就在后面。由此可见,就是按照该数组中每一个元素的age的值做升序排列。

1.4K20
领券