1.js中使用typeof能得到哪些类型

2.何时使用=====

3.js中的内置函数

4.js变量按存储方式区分为哪些类型,并描述其特点

5.如何理解json

以下对这些问题的知识点做一些总结:

1.考点:js变量类型

 typeof undefined //undefined
typeof 'killua' //string
typeof 215 //number
typeof true //boolean
typeof {} //object
typeof [] //object
typeof null //object
typeof console.log //function // typeof运算符6种类型:
// undefined,string,number,boolean,object,function
// 前4个是值类型,后4个是引用类型,typeof只能区分值类型的详细类型,对引用类型无法区分,只能区分function类型
 

2.值类型:每个变量可以存储自己的值,不会相互影响

var a=100;
var b=a;
a=200;
console.log(b);//

   引用类型(对象,数组,函数):可以无限扩张属性,内存公用空间

var c={age:10};
var d=c; //age是一份,只是d和c同时都指向它
d.age=20;
console.log(c.age);//

3.变量计算-强制类型转换

// 1.字符串拼接
var a=100+10//
var b=100+'10'//10010,number转换为string
// 2.运算符
100=='100'//true
0==''//true,都可以转换为false
null==undefined //true,都可以转换为false //if语句
var a=true;
if(a){ }
var b=100;
if(b){
//把b强制转换为布尔类型
}
var c='';
if(c){
//把c空字符串转换为false
}
//逻辑运算符-与、或、非
console.log(10 && 0) //0, 10转换为true, true && 0返回0
console.log('' || 'abc') //'abc', ''转换为false
console.log(!window.abc) //true, window.abc返回为undefined,非false为true //判断一个变量会被当作true还是false
var cc=100;
console.log(!!cc);

4.变量计算-强制类型转换

// 1.字符串拼接
var a=100+10//
var b=100+'10'//10010,number转换为string
// 2.运算符
100=='100'//true
0==''//true,都可以转换为false
null==undefined //true,都可以转换为false //if语句
var a=true;
if(a){ }
var b=100;
if(b){
//把b强制转换为布尔类型
}
var c='';
if(c){
//把c空字符串转换为false
}
//逻辑运算符-与、或、非
console.log(10 && 0) //0, 10转换为true, true && 0返回0
console.log('' || 'abc') //'abc', ''转换为false
console.log(!window.abc) //true, window.abc返回为undefined,非false为true //判断一个变量会被当作true还是false
var cc=100;
console.log(!!cc);

问:何时使用===和==

if(obj.a==null){
//这里 相当于obj.a==null || obj.a==undefined,简写形式(jquery源码推荐的写法)
//除了这个,其他地方全用===
}

问:js中的内置函数 --数据封装对象

    Object
Array
Boolean
Number
String
Function
Date
RegExp
Error

问:js变量按存储方式区分为哪些类型,并描述其特点

// 值类型,每个变量可以存储自己的值,不会相互影响
var a=100;
var b=a;
a=200;
console.log(b);//
//引用类型(对象,数组,函数),c和d同时指向age:10,
//可以无限扩张属性,内存公用空间(如果属性比较多,内存公用就会比较方便,所以要引用类型),互相会受干扰
var c={age:10};
var d=c;//age是一份,只是d和c同时都指向它
d.age=20;
console.log(c.age);//

问:如何理解json

    //json 是内置在js语法里的对象,也是一种数据格式,json有两个API
JSON.stingify({a:10,b:20}) //把对象变换成字符串
JSON.parse('{"a":10,"b":20}') //把字符串变换成对象

js面试题知识点全解(一变量类型和计算)的更多相关文章

  1. js面试题知识点全解(一作用域和闭包)

    问题: 1.说一下对变量提升的理解 2.说明this几种不同的使用场景 3.如何理解作用域 4.实际开发中闭包的应用 知识点: js没有块级作用域只有函数和全局作用域,如下代码: if(true){ ...

  2. js面试题知识点全解(一作用域)

    问题: 1.说一下对变量提升的理解 2.说明this几种不同的使用场景 3.如何理解作用域 4.实际开发中闭包的应用 知识点: js没有块级作用域只有函数和全局作用域,如下代码: if(true){ ...

  3. js面试题知识点全解(一原型和原型链1)

    1.如何准确判断一个变量是数组类型2.写一个原型链继承的例子3.描述new一个对象的过程4.zepto(或其他框架)源码中如何使用原型链知识点:1.构造函数2.构造函数-扩展3.原型规则和示例4.原型 ...

  4. js面试题知识点全解(一原型和原型链)

    1.如何准确判断一个变量是数组类型2.写一个原型链继承的例子3.描述new一个对象的过程4.zepto(或其他框架)源码中如何使用原型链知识点:1.构造函数2.构造函数-扩展3.原型规则和示例4.原型 ...

  5. js面试题知识点全解(一闭包)

    闭包使用场景:1.函数作为返回值,如下场景 function F1(){ var a = 100 //自由变量 //返回一个函数(函数作为返回值) return function(){ console ...

  6. [转载] Python数据类型知识点全解

    [转载] Python数据类型知识点全解 1.字符串 字符串常用功能 name = 'derek' print(name.capitalize()) #首字母大写 Derek print(name.c ...

  7. JS基础知识——变量类型和计算(一)

    JS中使用typeof能得到的哪些类型? 何时使用===何时使用==? JS中有哪些内置函数? JS变量按照存储方式区分为哪些类型,描述其特点? 如何理解JSON? 知识点梳理 一.变量类型: (1) ...

  8. js变量类型和计算

    # js入门基础-变量类型和计算 ` --首先由于我使用了一个不太合格的markdown来编写来文章,所以在移动端阅读不要太方便,建议移动端使用横屏模式或pc端阅读,当然如果你有平板那是最好的. -- ...

  9. JS(面试中的变量类型和计算问题)

    JS(变量类型和计算) 题目1.JS 中使用 typeof 能得到那些类型? 题目2.何时使用 === 何时使用==? 题目3.JS 中有哪些内置函数? 题目4.JS 变量按照存储方式区分为那些类型, ...

随机推荐

  1. 8位基本定时器(TIM4)

    简介:该定时器由一个带可编程预分频器的8位自动重载的向上计数器所组成,它可以用来作为时基发生器,具有溢出中断功能. 主要功能: (1)8位向上计数的自动重载计数器: (2)3位可编程的预分配器(可在运 ...

  2. JavaScript用typeof判断变量是数组还是对象,都返回object

    在JavaScript中所有数据类型严格意义上都是对象,但实际使用中我们还是有类型之分,如果要判断一个变量是数组还是对象使用typeof搞不定,因为它全都返回object. 使用typeof加leng ...

  3. 51nod_1417:天堂里的游戏

    题目链接: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1417 假设 ans=n/m,C=(A+B)/2 若出正面 ...

  4. web前端开发面试题(未完待续)

    一.HTML与XHTML的不同:1)XHTML元素必须被正确地嵌套 2)元素必须被关闭   如:<h1>--</h1>关闭 3)标签名必须用小写字母 4)XHTML文档必须有根 ...

  5. ES6数组扩展

    前面的话 数组是一种基础的JS对象,随着时间推进,JS中的其他部分一直在演进,而直到ES5标准才为数组对象引入一些新方法来简化使用.ES6标准继续改进数组,添加了很多新功能.本文将详细介绍ES6数组扩 ...

  6. ETL作业调度软件TASKCTL4.1单机部署

    单机部署,实际上就是将EM节点和一个Server节点安装到同一个地方.EM节点是TASKCTL服务端的最顶层,主要负责客户端与服务端之间的通信.Server节点是TASKCTL的调度服务控制层,也有A ...

  7. 浅谈jQuery Pagination Ajax 分页插件的使用

    插件介绍 此插件是jQuery的ajax分页插件.分页切换时无刷新也无延迟,因为是一次性加载的.如果你用到此插件作分页的时候,涉及到的数据量大,建议不要使用此插件,因为加载慢会导致用户体验不好! 插件 ...

  8. vue-cli的webpack模板项目配置文件分析

    由于最近在vue-cli生成的webpack模板项目的基础上写一个小东西,开发过程中需要改动到build和config里面一些相关的配置,所以刚好趁此机会将所有配置文件看一遍,理一理思路,也便于以后修 ...

  9. S2-032代码执行

    Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与Struts 1的体系结构差别 ...

  10. Vue学习-01

    1.vue 学习 v-bind:title 数据绑定 v-if 判断显示或者隐藏 <div id="app-3"> <p v-if="seen" ...