事件对象、引用类型

问题

1、基础类型有哪些?复杂类型有哪些?有什么特征?

一、布尔、字符串、数字、null、undefined、对象、还有复杂类型。
二、复杂类型就是:对象、数组、函数、正则
三、特征:记住数据类型就是保存栈内存中的简单数据,而复杂类型基本上都是对象,是以指针的形式存储数据的,变量自身只存储一个地址信息。


事件对象、引用类型_第1张图片
a、b就是简单数据类型的存储方式。obj1、obj2就是指针存储方式
2、如下代码的输出? 为什么?
var obj1 = {a:1, b:2};
var obj2 = {a:1, b:2};
console.log(obj1 == obj2); // false 因为指针不同
console.log(obj1 = obj2); // Object {a: 1, b: 2} 赋值
console.log(obj1 == obj2); // true 指针相同了

代码

1. 写一个函数getIntv,获取从当前时间到指定日期的间隔时间
var str = getIntv("2016-01-08");
console.log(str); // 距除夕还有 20 天 15 小时 20 分 10 秒

// 答

       
2. 把数字日期改成中文日期
var str = getChsDate('2015-01-08');
console.log(str); // 二零一五年一月八日

// 答


3. 写一个函数获取n天前的日期
var lastWeek = getLastNDays(7); // ‘2016-01-08’
var lastMonth = getLastNDays(30); //'2015-12-15'

//答


4. 完善如下代码,用于获取执行时间如:

5. 楼梯有200级,每次走1级或是2级,从底走到顶一共有多少种走法?用代码(递归)实现
 function stairs(n){
         if(n === 1){
               return 1;
         }else if (n === 2){
               return 2;
         }else{
               return stairs(n-1) + stairs(n-2);
         }
 }
6. 写一个json对象深拷贝的方法,json对象可以多层嵌套,值可以是字符串、数字、布尔、json对象中的任意项
var obj = {
     name: 'papapa',
     age:100,
     sex: 'male',
     firends: {
           name: 'hahaha',
           age:100,
           sex: 'Female',
     }
};
function deepCopy(obj){
      var newObj = {};
      for(var key in obj){
            if(isSimple(obj[key]) ){
                  newobj[key] = obj[key];
             }else of( isObj(obj[key]) ) {
                  newObj[key] = deepCopy(obj[key]);
             } else {
          newobj[key] = arrcopy(obj[key]);
           }
      }
      return newObj;
}
deepCopy(obj);
//这么来对不对?

你可能感兴趣的:(事件对象、引用类型)