您的位置:首页 > Web前端 > Node.js

node问题

2020-08-24 10:59 1086 查看
Hello

那么”Hello”的字体颜色是 b

A、red
B、green
C、black
D、blue

分析:离的近的显示,控制字体颜色用color,没有text-color

span的宽高 D A.width = 0px,height = 0px B.width = 400px,height = 200px C.width = 100px,height = 50px D.width = 0px,height = 200px

分析:i标签浮动,脱离文本流,使得i与span没有关系,span浮动之后可以指定他的宽高

下边代码输出的结果是( D )
var val = ‘smtg’;
console.log('Value is ’ + (val === ‘smtg’) ? ‘Something’ : ‘Nothing’);
A: Value is Something
B: Value is Nothing
C: NaN
D: other

‘value is’ + true

分析:先计算加运算符,在执行三目运算符,首先 value is true,然后执行三木,因为之前有值,所以答案是something

下边代码输出的结果是( A )

(function () {
if (typeof name === ‘undefined’) {
var name = ‘Jack’;
console.log('Goodbye ’ + name);
} else {
console.log('Hello ’ + name);
}
})();
var name = ‘World!’;
A: Goodbye Jack
B: Hello Jack
C: Hello undefined
D: Hello World

分析:var变量提升,但他的内容不会提升,所以name为undefined

以下运行结果(B)
for(var i = 0; i < 10; i++) {
setTimeout(function() {
console.log(i);
}, 1000);
}
A、0–9
B、10个10
C、10个9
D、无限循环

var a=1;
function fn(){
alert(a); 1
a=2;
}
fn();
alert(a); 2

var a=1;
function fn(){
  alert(a) undefined
  var a =2;
}
fn();
alert(a); 1

分析:函数里var在声明,是局部作用域,同时变量声明先提升,所以第一个提示框,a为undefined

var i=100
i++;
var j=i++;
var y=++j;
console.log(y,j)

后置的++,先使用,再自加
前置的++,先自加,再使用

值传递和引用传递
1). 值传递:传递的是实际参数的一个副本
2). 引用传递:传递的是实际参数的地址

a.基本数据类型: Number, String等都是按值传递。
var a = 10
function add(num){
num+=10
return num
}
add(a)
console.log(a)
console.log(add(a))
a与函数内部的num互不干扰,它是按值传递的,复制了内存中的一份值给num。所以内部对num的操作不影响全局变量a的值

b.对象类型
var obj = {
name:‘tom’,
age:12
}
function test1(obj){
obj.age++
} /答案为13/
function test2(obj){
obj = null /答案为12/
}
function test3(obj){
obj = {
name:‘tom’,
age:12
}
obj.age++ /引用的是函数内部的obj,答案为13/
}
test2(obj)
console.log(obj)

总结:值传递,内存中的地址复制了一份,修改数据指的是修改复制出来的内存地址,对原先的值不会有影响

引用传递,将其指向同一个内存地址,修改数据会对原先的值有影响
分析:.引用传递 =值传递

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: