首页 > 技术文章 > js 简单小知识

xiaozhaung 2019-05-30 10:30 原文

1. javascript的typeof返回哪些数据类型:

   string, boolean, number, undefined, function, object

2. split() join() 的区别

   前者是将字符串切割成数组的形式,后者是将数组转换成字符串

3. ajax请求时,如何解析json数据

       使用JSON.parse

4. 事件委托是什么?

  利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行! 

5.  创建新节点
createElement() //创建一个具体的元素
createTextNode() //创建一个文本节点

6.  添加、移除、替换、插入
appendChild() //添加
removeChild() //移除
replaceChild() //替换
insertBefore() //插入

3)查找
getElementsByTagName() //通过标签名称
getElementsByName() //通过元素的Name属性的值
getElementById() //通过元素Id,唯一性

7. 解释jsonp的原理,以及为什么不是真正的ajax

动态创建script标签,回调函数
Ajax是页面无刷新请求数据操作

8.  document load 和document ready的区别

   document.onload 是在结构和样式,外部js以及图片加载完才执行js
   document.ready是dom树创建完成就执行的方法,原生种没有这个方法,jquery中有 $().ready(function)

 

9.   null和undefined的区别?

  null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。

 当声明的变量还未被初始化时,变量的默认值为undefined。 null用来表示尚未存在的对象

  undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:

(1)变量被声明了,但没有赋值时,就等于undefined。

(2)调用函数时,应该提供的参数没有提供,该参数等于undefined。

(3)对象没有赋值的属性,该属性的值为undefined。

(4)函数没有返回值时,默认返回undefined。

   null表示"没有对象",即该处不应该有值。典型用法是:

(1) 作为函数的参数,表示该函数的参数不是对象。

(2) 作为对象原型链的终点。

 10.   js延迟加载的方式有哪些?

         defer和async、动态创建DOM方式(创建script,插入到DOM中,加载完毕后callBack)、按需异步载入js

11.  希望获取到页面中所有的checkbox怎么做?(不使用第三方框架)

     var inputs = document.getElementsByTagName("input");//获取所有的input标签对象
     var checkboxArray = [];//初始化空数组,用来存放checkbox对象。
     for(var i=0;i<inputs.length;i++){
    var obj = inputs[i];
    if(obj.type=='checkbox'){
   checkboxArray.push(obj);
  }
  }

12.  如何获取javascript三个数中的最大值和最小值?

   Math.max(a,b,c);//最大值

  Math.min(a,b,c)//最小值

 13.  

列举javaScript的3种主要数据类型,2种复合数据类型和2种特殊数据类型。

主要数据类型:string, boolean, number

复合数据类型:function, object

特殊类型:undefined,null

14.

解释什么是Json:

(1)JSON 是一种轻量级的数据交换格式。

(2)JSON 独立于语言和平台,JSON 解析器和 JSON 库支持许多不同的编程语言。

(3)JSON的语法表示三种类型值,简单值(字符串,数值,布尔值,null),数组,对象

14.  js中的3种弹出式消息提醒(警告窗口,确认窗口,信息输入窗口)的命令式什么?
         三种弹出框

   //普通弹出框
//第一个弹出框
//alert("你好~")

//输入框:以字符串形式接受用户输入内容;
var info = prompt("请输入内容~");
console.log(info);

//确认框:根据用户选择确认或者取消,得到 true|false 两个布尔结果
var res = confirm("你是猪吗?");
console.log(res);

15.  

 闭包的好处

(1)希望一个变量长期驻扎在内存当中(不被垃圾回收机制回收)

(2)避免全局变量的污染

(3)私有成员的存在

(4)安全性提高

 

推荐阅读