整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

关于JavaScript对象的面试选择题

关于JavaScript对象的面试选择题

.创建对象直接量正确的语法是( )

A. var point={ x:0; y:0 };
B. var point=[ x:0; y:0 ];
C. var point={ x:0, y:0 };
D. var point=[ x:0,y:0 ];

2.关于对象原型的表述错误的是( )

A. 通过new Array()创建的对象的原型就是Array.prototype
B. 通过new Date()创建的对象的原型就是Date.prototype
C. 不能通过Object.prototype获得对原型对象的引用
D. 通过关键字new和构造函数调用创建的对象的原型就是构造函数的prototype属性的值

3.如果想创建一个普通的空对象,类似于{}或new Object()的方法是( )
A. Object.create(null)
B. Object.create(Object.prototype)
C. Object.create()
D. Object.create(undefined)

4.在JavaScript中,通过下面的_____运算符访问对象的属性和方法。
A. 加运算符(+)
B. 点运算符(.)
C. 乘运算符(*)
D. 不能访问

5.获取属性的值,正确的语法是( )
A. object->property
B. object["property"]
C. object=>property
D. object{"property"}

6.查询book对象的subtitle属性,以及subtitle的length属性。如果不存在不会报错的语法是( )
A. var title=book.subtitle;
B. book.subtitle.length;
C. if (book) { if (book.subtitle) len=book.subtitle.length;}
D. var len=book && book.subtitle && book.subtitle.length;

7.如果有对象 o={x:1},则对下面代码解释正确的是( )
A. delete o.x; //删除x,返回false
B. delete o.x; //什么都没做(x已经不存在了),返回false
C. delete o.toString; //什么也没做(toString是继承来的),返回true
D. delete 1; //无意义,返回false

8.下面的方法,不能判断某个属性是否存在于某个对象中的方法是( )
A. in运算符
B. instanceOf运算符
C. hasOwnPreperty()方法
D. propertyIsEnumerable()方法

9.如果有对象 o={ x: 1 },则o.hasOwnProperty("toString");返回( )
A. NaN
B. true
C. undefined
D. false

10.有对象:var o=Object.create({y:2}); 语句 o.propertyIsEnumerable("y");的输出为( )
A. NaN
B. false
C. undefined
D. true

11.JavaScript对象getter方法的正确语法是( )
A. get { /* 这里是函数体 */ }
B. get functionName() { /* 这里是函数体 */ }
C. getter { /* 这里是函数体 */ }
D. get functionName { /* 这里是函数体 */ }

12.存取器属性的4个特性,不包括的特性是( )
A. 读取(get )
B. 写入(set)
C. 可枚举性
D. 可继承性

13.要想设置属性的特性,或者想让新建属性具有某种特性,则需要调用的方法是( )
A. Object.defineProperty()
B. Object.define()
C. Object.create()
D. Object.assign()

14.对代码 "var x=myhouse.kitchen; " 的哪种说明正确?
A. 将字符串"myhouse.kitchen"赋值给变量x。
B. 将myhouse和kitchen的值相加之和赋给对象x。
C. 假设myhouse对象存在,它将myhouse对象的kitchen属性值赋给变量x。
D. 假设myhouse对象存在,它将kitchen对象的myhouse属性值赋给变量x.

15.创建字符串对象有哪两种方法?
A. 使用new运算符创建String对象和直接将字符串赋给变量。
B. 使用new运算符创建Array对象和直接将字符串赋给变量。
C. 使用new运算符创建Number对象和直接将字符串赋给变量。
D. 使用new运算符创建Date对象和直接将字符串赋给变量。

16.在ECMAScript 5中,查询对象原型的方法是( )
A. o.constructor.prototype
B. Object.getPrototypeOf()
C. isPrototypeOf()方法
D. Object.defineProperty()方法

17.将对象设置为不可扩展,还可以将它自有的所有数据属性设置为只读的方法是( )
A. Object.preventExtensions()方法
B. Object.seal()方法
C. Object.freeze()方法
D. Object.isSealed()方法

18.不属于Object.prototype里的对象方法的是( )
A. toLocaleString()方法
B. toSource()方法
C. toJSON()方法
D. vafueOf()方法

、简介

在日常的工作中,有时候需要将部分信息保存到本地,也就是写入到INI文件中,便于下次使用;在Qt中可以使用QSetting来进行INI文件的读写。

二、常用函数介绍

(1).void QSettings::beginGroup(const QString & prefix)

相当于在INI文件中添加了一个索引,根据索引的不同,可以读取相对应的值

(2).void QSettings::endGroup()

将组重置为相应的eginGroup()调用之前的状态。

(3).void QSettings::setValue(const QString & key, const QVariant & value)

向INI文件中写入信息,信息以键值对的方式写入到INI文件中,如果key值已经存在了,那么key对应的value值便会被新值覆盖掉。

(4).QVariant QSettings::value(const QString & key, const QVariant & defaultValue=QVariant()) const

从INI文件中读取信息,返回设置键的值,如果设置的键不存在,则返回defaultValue,如果未指定默认的值,则返回默认QVariant()。

(5).QString QSettings::group() const

返回当前的组名

Qt开发必备技术栈学习路线和资料

于IT行业从业者来说,每个人掌握几种编程语言几乎已经成为了标配。毕竟从事技术岗位,不断自我提高持续学习也已经成为了日常。


在学习过程中,你觉得什么语言是最易/难学的呢?你最先学习的又是什么语言呢?


最近,在线学习平台Springboard选出了最容易学习和最难学的编程语言Top 5,让我们一起来看看吧。


1

//最容易学习的编程语言


1、HTML


HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。


Springboard认为HTML很容易学习的理由总结如下:


  • 它具有简单的结构,带有人类可读的开始和结束标记;
  • 用户可以使用WYSIWYG 编辑器,并在拆分视图中查看代码更改;
  • 用户可以轻松查找和修复bug。


2、JavaScript


JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。


Springboard认为JavaScript很容易学习的理由总结如下:


  • 它是为非程序员设计的,对初学者友好,是理想的入门编程语言;
  • 它非常普遍,以至于大多数浏览器都用作默认环境;
  • 用户不需要编译器即可看到JavaScript的实际运行情况,并且可以立即查看结果;
  • JavaScript有一个庞大的社区,对新手程序员很有帮助。


3、C


C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。


Springboard认为C很容易学习的理由总结如下:


  • 简单语法,只有 32 个关键字;
  • 数据结构易于理解。


4、Python


作为ABC语言的继承者,Python是一种高级通用编程语言。Python是Web开发人员、数据科学家、ML / AI专业人员和嵌入式应用程序开发者的最爱。


Springboard认为Python很容易学习的理由总结如下:


  • 该语言着重于代码的可读性,经常使用英文单词;
  • 它大量使用whitespace,使其不那么令人生畏;
  • 它具有多个用于各种应用的库;
  • 它由庞大的程序员社区支持,社区成员很有可能会帮助你解决问题。


5、Java


Java是一种基于类的、面向对象的通用编程语言。它旨在跨环境运行——一次写入,随处运行 (WORA)。它是后端开发人员和安全应用程序中最受欢迎的语言之一。


Springboard认为Java很容易学习的理由总结如下:


  • 语法直观、简洁且适合初学者;
  • 它是一种结构化的语言,几乎没有偏差;
  • 如果你以前有过面向对象编程的经验,那就更容易上手了。


(图片来自Springboard)


2

//最难学习的编程语言


1、C++


C++是C的扩展(而C被列入了容易学习的语言),C++是一种通用编程语言,据说谷歌Chromium浏览器、微软一些应用程序,甚至摩根士丹利的金融建模都是用C++完成。


Springboard认为C++很难学的理由总结如下:


  • C++具有复杂的语法以支持多功能性;
  • 它是一种包容性很强的语言,你可以做任何技术上可行的事情,即使逻辑上不正确;
  • 最好由已经具备C语言编程基础的人学习。


2、Prolog


Prolog是最早的逻辑编程语言之一,现在在人工智能应用和自然语言处理中被广泛采用。


Springboard认为Prolog很难学的理由总结如下:


  • 它是一种非常规的语言,其数据结构与其他编程语言不同;
  • 它需要一个不合理的competent compiler;
  • 它要求程序员预先认真思考他们的逻辑;
  • 在线资源和Prolog代码不能简单直接地应用于你的需求。


3、LISP


它是第二古老的编程语言,仅次于FORTRAN,至今仍然用于更高级别的系统和人工智能领域。


Springboard认为LISP很难学的理由总结如下:


  • 它是一种具有特定领域解决方案的碎片化语言;
  • LISP 中的语法广泛使用括号,使用者可能会很难习惯。


4、Haskell


Haskell是一种多态静态类型的纯函数式语言,建立在lambda演算之上。它以数学家Haskell B Curry的名字命名,主要用于研究,工业应用和教学。


Springboard认为Haskell很难学的理由总结如下:


  • 它遵循100%的函数范式,与大多数接受命令式命令的现代语言不同;
  • Haskell中编译和错误修复的细微差别让人很难理解;
  • 它涉及大量专业术语,可能会让初学者望而却步。


5、Malbolge


Malbolge 以但丁《地狱》中的第八层地狱命名,是"esolang"(深奥的编程语言)的一个example。第一个Malbolge程序花了两年时间才写出来。此类别中的其他语言有 INTERCAL 和 Cow,大部分人会把这类语言当作一种挑战。


Springboard认为Malbolge很难学的理由总结如下:


  • 它使用了晦涩难懂的符号;
  • 没有多少程序员花时间学习它,因此学习资源很少;
  • 它是一种自修改语言,这导致了其行为不稳定。


3

//小结


互联网时代,如果想要从事IT技术开发相关的工作,掌握一门编程语言是必备的。


上述的难/易语言,其实我们不难从中发现,适用范围越小、使用人数越少的语言,就越难学,因为没有相关的从业土壤和学习条件。


如果是初学者,显然选择Python、Java这样有庞大程序员社区支持的语言会更好。