1.
var x = new Boolean(false);
if (x) {
alert('hi');
}
var y = Boolean(0);
if (y) {
alert('hello');
}
的显示结果是? hi
当一个值为false的Boolean对象放到条件语句当中的时候,Boolean对象的值会被当作true来计算,但是它本身的值并
没有改变,依然是false。
2.angularjs1中的服务实质上是单例对象
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系
统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中
某个类的对象只能存在一个,单例模式是最好的解决方案。
单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提
供这个实例。
3.
var myObject = {
foo: "bar",
func: function() {
var self = this;
console.log(this.foo);
console.log(self.foo);
(function() {
console.log(this.foo);
console.log(self.foo);
}());
}
};
myObject.func();
程序的输出是什么?
1.第一个this.foo输出bar,因为当前this指向对象myObject。
2.第二个self.foo输出bar,因为self是this的副本,同指向myObject对象。
3.第三个this.foo输出undefined,因为这个IIFE(立即执行函数表达式)中的this指向window。
4.第四个self.foo输出bar,因为这个匿名函数所处的上下文中没有self,所以通过作用域链向上查找,从包含它的
父函数中找到了指向myObject对象的self。
4.angularjs1使用了mvc进行web开发,其中控制层一般用什么语言来定义 javascript
5.angularjs1中关于服务的说法错误的是:D
A.避免全局对象污染
B.能注入到其它组件
C.避免代码分散到各处
D.主要进行DOM操作和数据绑定
6.语句var arr=[a,b,c,d];执行后,数组arr中每项都是一个整数,下面得到其中最大整数语句正确的是哪几项?BCD
A.Math.max(arr)
B.Math.max(arr[0], arr[1], arr[2], arr[3])
C.Math.max.call(Math, arr[0], arr[1], arr[2], arr[3])
D.Math.max.apply(Math,arr)
js函数调用,如果未指明函数所指的类,即直接调用functionA(),this关键字指向当前环境即window对象,相
当于调用window.functionA()。call、apply方法的第一个参数是this关键字,即指明functionA()是哪一个对象的方
法。apply以数组传递参数,call独立传递。
7.
填写内容让下面代码支持a.name = “name1”; b.name = “name2”;
function obj(name){
1
}
obj. 2 = "name2";
var a = obj("name1");
var b = new obj;
1.if(name){ this.name = name;}return this;
2.prototype.name
8.javascript 语言特性中,有很多方面和我们接触的其他编程语言不太一样,比如说,javascript语言实现继承机制
的核心就是 1 ,而不是Java语言那样的类式继承。Javascript 解析引擎在读取一个Object的属性的值时,会沿着 2
向上寻找,如果最终没有找到,则该属性值为 3 ; 如果最终找到该属性的值,则返回结果。与这个过程不同的是,
当javascript解析引擎执行“给一个Object的某个属性赋值”的时候,如果当前Object存在该属性,则改写该属性的
值,如果当前的Object本身并不存在该属性,则赋值该属性的值 。
1. prototype
2.原型链
3.undefined
var x = new Boolean(false);
if (x) {
alert('hi');
}
var y = Boolean(0);
if (y) {
alert('hello');
}
的显示结果是? hi
当一个值为false的Boolean对象放到条件语句当中的时候,Boolean对象的值会被当作true来计算,但是它本身的值并
没有改变,依然是false。
2.angularjs1中的服务实质上是单例对象
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系
统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中
某个类的对象只能存在一个,单例模式是最好的解决方案。
单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提
供这个实例。
3.
var myObject = {
foo: "bar",
func: function() {
var self = this;
console.log(this.foo);
console.log(self.foo);
(function() {
console.log(this.foo);
console.log(self.foo);
}());
}
};
myObject.func();
程序的输出是什么?
1.第一个this.foo输出bar,因为当前this指向对象myObject。
2.第二个self.foo输出bar,因为self是this的副本,同指向myObject对象。
3.第三个this.foo输出undefined,因为这个IIFE(立即执行函数表达式)中的this指向window。
4.第四个self.foo输出bar,因为这个匿名函数所处的上下文中没有self,所以通过作用域链向上查找,从包含它的
父函数中找到了指向myObject对象的self。
4.angularjs1使用了mvc进行web开发,其中控制层一般用什么语言来定义 javascript
5.angularjs1中关于服务的说法错误的是:D
A.避免全局对象污染
B.能注入到其它组件
C.避免代码分散到各处
D.主要进行DOM操作和数据绑定
6.语句var arr=[a,b,c,d];执行后,数组arr中每项都是一个整数,下面得到其中最大整数语句正确的是哪几项?BCD
A.Math.max(arr)
B.Math.max(arr[0], arr[1], arr[2], arr[3])
C.Math.max.call(Math, arr[0], arr[1], arr[2], arr[3])
D.Math.max.apply(Math,arr)
js函数调用,如果未指明函数所指的类,即直接调用functionA(),this关键字指向当前环境即window对象,相
当于调用window.functionA()。call、apply方法的第一个参数是this关键字,即指明functionA()是哪一个对象的方
法。apply以数组传递参数,call独立传递。
7.
填写内容让下面代码支持a.name = “name1”; b.name = “name2”;
function obj(name){
1
}
obj. 2 = "name2";
var a = obj("name1");
var b = new obj;
1.if(name){ this.name = name;}return this;
2.prototype.name
8.javascript 语言特性中,有很多方面和我们接触的其他编程语言不太一样,比如说,javascript语言实现继承机制
的核心就是 1 ,而不是Java语言那样的类式继承。Javascript 解析引擎在读取一个Object的属性的值时,会沿着 2
向上寻找,如果最终没有找到,则该属性值为 3 ; 如果最终找到该属性的值,则返回结果。与这个过程不同的是,
当javascript解析引擎执行“给一个Object的某个属性赋值”的时候,如果当前Object存在该属性,则改写该属性的
值,如果当前的Object本身并不存在该属性,则赋值该属性的值 。
1. prototype
2.原型链
3.undefined