先总结下知识点:
1.局部变量不能在全局中被引用
2.局部变量能够使用且更改全局变量的值
3.函数中给的变量,相当于一个新的,不论是否和之前定义的变量重名
4.同名的变量确定值的时候看它是否有被重新定义过
考点:变量提升和变量作用域
-
(1)
console.log(a);
var a=12;
function fn(){
console.log(a);
var a=13;
}
fn();
console.log(a);
–undefined
–undefined
–12 -
(2)
console.log(a);
var a=12;
function fn(){
console.log(a);
a=13;
}
fn();
console.log(a);
–undefined
–12
–13
-
(3)
console.log(a);
a=12;
function fn(){
console.log(a);
a=13;
}
fn();
console.log(a);
–a is not defined -
(4)
var a=10,
b=11,
c=12;
function test(a){
a=1;
var b=2;
c=3;
}
test(10);
console.log(a);
console.log(b);
console.log©;
–10
–11
–3
第三题
var str = ‘abcdefg’;
(1)将 str 转化为数组 arrStr,并在数组头尾加入字母 W ,并重新组成字符串 strNew,并打印 strNew
//unshift()是在数组最前面加元素X
//shift()是删除数组最前面的元素
//push()在数组最后加元素X
//pop()删除数组最后的元素
var arrstr = str.split();
arrstr.unshift(“W”);
arrstr.push(“W”);
var strNew = arrstr.join(‘’);
//在前端中””与’’没有区别,都表示字符串
(2)将 str 从2开始截取4位,并打印结果
//subString(元素1,元素2),1代表的index,2也是代表字符串的index,截取4位,2-1为4就行
str = str.subString(1,5);
Or
//substr(元素1,元素2),1代表的index,2代表的截取位数,即此题的4
str = str.substr(1,4);
(3)将字符串 str 逆序排列 (用到数组方法,可以通过runoob.com看方法)
var arr = str.split(‘’);
str = arr.reverse().join(‘’);
第四题 一个篮球的高度为100米 每次落地弹起高度为前一次高度的0.6 问多少次之后高度小于1米?
提示: for / do…while / while 任选其一
Var height = 100;
Var count = 0;
for(count;height>1;count++){
height = height * 0.6 ;
}
Console.log(count+‘次后高度小于1米!’);
第五题 实现如下功能:任意输入一个年份,返回此年份为闰年或者平年。
提示: 闰年和平年的区别
var year = 2005;
if(year%400=0){
Console.log(year+“year is 闰年”);
}else if(year%4=0){
Console.log(year+“year is 闰年”);
}else{
Console.log(year+“year is 平年”);
}