• 变量类型
  • 变量计算

变量

题目:

  1. JavaScript 中使用typeof能得到的有哪些类型?

    1. 1.1 变量类型
    2. (1).js中的数据类型:字符串、数字、布尔、数组、对象、NullUndefined
    3. (2).值类型:把每个值存到每个变量
    4. var a = 100;
    5. var b = a;
    6. a = 200;
    7. console.log(b); // 100
    8. (3).引用类型:1.对象,2.数组,3.函数
    9. 特点:它可以无限扩大属性
    10. var a = { age:20};
    11. var b = a;
    12. b.age = 21;
    13. console.log(a.age); // 21
    14. (4).typeof运算符
    15. typeof undefined //undefined
    16. typeof 'abc' //string
    17. typeof 123 //number
    18. typeof true //boolean
    19. typeof {} //object
    20. typeof [] //object
    21. typeof null //object
    22. typeof console.log //function
    23. ```
    24. 1.2 变量计算 -- 强制类型转换
    25. 可能需要转换的情况:
    26. ```
    27. (1).字符串拼接
    28. var a = 100 + 10; //110
    29. var b = 100 + '10'; //10010
    30. (2).== 运算符
    31. 100 == '100'; //true
    32. 0 == ''; //true
    33. null == undefined; //true
    34. (3).if语句
    35. var a = true;
    36. if(a){
    37. ..
    38. }
    39. var b = 100;
    40. if(b){
    41. ..
    42. }
    43. var c = '';
    44. if(c){
    45. ..
    46. }
    47. (4).逻辑运算符
    48. console.log(10 && 0); //0 10自动转换为true
    49. console.log('' || 'abc'); //'abc' ''自动转换为false
    50. console.log(!window.abc); true undefined 就是fasle
    51. 判断一个变量会被当做true 还是false
    52. var a = 100;
    53. console.log(!!a); //true
    54. var a = '';
    55. console.log(!!a); //false
  2. 何时使用 === 何时使用 == ?

  1. if(obj.a == null){
  2. 1.这里相当于obj.a === null || obj.a === undfined ,简写形式
  3. 这里是jQuery原发中推荐的写法
  4. 2.== != 比较若类型不同,先偿试转换类型,再作值比较,最后返回值比较结果
  5. === !== 只有在相同类型下,才会比较其值。
  6. 3.首先,== equality 等同,=== identity 恒等。
  7. (2.1). ==, 两边值类型不同的时候,要先进行类型转换,再比较。
  8. (2.2). ===,不做类型转换,类型不同的一定不等。
  9. 下面分别说明:
  10. 先说 ===,这个比较简单。下面的规则用来判断两个值是否===相等:
  11. 1、如果类型不同,就[不相等]
  12. 2、如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断)
  13. 3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。
  14. 4、如果两个值都是true,或者都是false,那么[相等]。
  15. 5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。
  16. 6、如果两个值都是null,或者都是undefined,那么[相等]。
  17. 再说 ==,根据以下规则:
  18. 1、如果两个值类型相同,进行 === 比较。
  19. 2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:
  20. a、如果一个是null、一个是undefined,那么[相等]。
  21. b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。
  22. c、如果任一值是 true ,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。
  23. d、如果一个是对象,另一 个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。js核心内置类,会尝试 valueOf先于toString;例外的是DateDate利用的是toString转换。非js核心的对象,令说(比较麻烦,我也不大懂)
  24. e、任何其他组合,都[不相等]。
  25. 举例:
  26. "1" == true
  27. 类型不等,true会先转换成数值 1,现在变成 "1" == 1,再把"1"转换成 1,比较 1 == 1 相等。
  28. = 赋值运算符
  29. == 等于
  30. === 严格等于
  31. 例:
  32. var a = 3;
  33. var b = "3";
  34. a==b 返回 true
  35. a===b 返回 false
  36. 因为a,b的类型不一样
  37. ===用来进行严格的比较判断
  38. }

3.JavaScript有哪些内置函数?

  1. (1).数据封装类对象
  2. Object
  3. Array
  4. Boolean
  5. Number
  6. String
  7. Function
  8. Date
  9. EegExp
  10. Error
  1. JavaScript变量按照存储方式区分哪些类型,并描述其特点?
  1. (1). 值类型
  2. var a =10;
  3. var b = a;
  4. a = 11;
  5. console.log(b); //10
  6. (2). 引用类型 var obj = {x:100}
  7. var obj1 = { x:100 };
  8. var obj2 = obj1;
  9. obj1.x = 200;
  10. console.log(obj2.x); // 200
  11. ```
  12. 5. 如何理解JSON?
  13. ```
  14. JSON 只不过去一个 JS 的对象而已
  15. 2个接口:
  16. 1. 对象变成字符串 -- JSON.stringify({a:10, b:20});
  17. 2. 字符串变成对象 -- JSON.parse('{"a":10, "b":29}');
  18. ```

JavaScript 变量、类型与计算的更多相关文章

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

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

  2. js变量类型和计算

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

  3. javascript变量类型及作用域

    javascript变量类型及作用域 一.简介 变量类型 ECMAScript变量可能包含两种不同类型的数据值:基本类型和引用类型. 基本类型 基本类型指的是简单的数据段,5种基本数据类型:undef ...

  4. js课程 1-3 Javascript变量类型详解

    js课程 1-3  Javascript变量类型详解 一.总结 一句话总结:js对象点(属性方法),json对象冒号(属性方法).属性和方法区别只有一个括号. 1.json对象中的函数的使用? 函数名 ...

  5. js面试题知识点全解(一变量类型和计算)

    1.js中使用typeof能得到哪些类型 2.何时使用===和== 3.js中的内置函数 4.js变量按存储方式区分为哪些类型,并描述其特点 5.如何理解json 以下对这些问题的知识点做一些总结: ...

  6. JS变量类型与计算

    一.题目 1.JS中使用typeof能得到哪些类型? 2.何时使用===何时使用==? 3.JS中有哪些内置函数? 4.JS变量按照存储方式区分为哪些类型,并描述其特点? 5.如何理解JSON? 知识 ...

  7. JavaScript变量类型检测总结

    JavaScript中的变量类型: 基本类型值:Undefined,Null,Boolean,Number和String. 按值访问(可直接操作保存在变量中的变量值): 复制规则:当复制基本类型值时: ...

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

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

  9. JavaScript 变量类型 保存内存中的位置 和 引用

    1. JavaScript变量 基本类型值在内存中占据固定大小的空间 因此被保存在栈内存中. 从一个变量向另一个变量复制基本来下的值 会创建这个值得一个副本. 引用类型的值是对象 保存在堆内存中. 包 ...

  10. javascript 变量类型判断

    一.typeof 操作符 对于Function, String, Number ,Undefined 等几种类型的对象来说,他完全可以胜任,但是为Array时 "); typeof arr ...

随机推荐

  1. jBPM学习之部署流程定义

    也许部署流程定义的方法有很多,这里选用的是用Java代码调用工作流引擎提供的部署服务API.在这之前,假设你的Eclipse已经安装好了GPD工作流画图工具,并且学会了画出最简单的HelloWorld ...

  2. python基础(五)列表,元组,集合

    列表 在python中是由数个有序的元素组成的数据结构,每一个元素对应一个index索引来隐式标注元素在列表中的位置.是python中最常用的一种数据类型.需要注意的是列表中可以有重复相同的数据. 列 ...

  3. 第十一章:Python の 网络编程基础(三)

    本課主題 多线程的创建和使用 消息队列的介绍 Python 操作 memached 和 redis 实战 本周作业 消息队列的介绍 对列是在内存中创建的,如果整个进程里的程序运行完毕之后会被清空,消息 ...

  4. Pyqt4的对话框 -- 文件对话框

    文件对话框允许用户选择文件或文件夹,被选择的文件可进行读或写操作 # QInputDialog 文件对话框 # 本示例包含一个菜单栏,一个状态栏和一个被设置为中心部件的文本编辑器. # 状态栏的状态信 ...

  5. 使用阿里云镜像maven管理配置开发环境

    修改方法:在~/.m2目录下的settings.xml文件中,(如果该文件不存在,则需要从maven/conf目录下拷贝一份),找到<mirrors>标签,添加如下子标签: <mir ...

  6. python基础之实现sql增删改查

    # encoding:utf-8 # Author:"richie" # Date:2017/8/2 import re key_l = ['id', 'name', 'age', ...

  7. Centos环境下搭建Asp.NET Core环境和安装Jexus

       .NET Core2.0出来以后,很多公司开始用于实践生产,其中的原因想必大家都明白,最主要的一下几点. 跨平台,能够部署在Linux和Docker容器中 性能优越,测试时Node的20倍左右 ...

  8. element-ui,router.push到其他路由,菜单栏不会高亮对应的路由

    使用饿了吗的路由,使用this.$router.push({path: ''})跳到其他的路由,菜单不会高亮. 如图所示,点击图上三个位置,需要使用this.$router.push({path: ' ...

  9. 使用quartz实现不重启服务器修改自定义配置

    为了方便维护系统,开发中通常会设置一些自定义参数,写在单独的配置文件里,需要调整时可直接登录服务器修复配置文件,而不需要修改程序.但尴尬的是,web服务器并不会自动重新加载配置文件,重启服务器又会中断 ...

  10. CSS3中only-child伪类选择器

    <body> <style type="text/css"> //只对li1设置样式 li:nth-child(1):nth-last-child(1){ ...