2019独角兽企业重金招聘Python工程师标准>>>

#变量类型

  1. Null:Null是一个对象类型,用typeof null验证时,返回object。null被看做是一个空对象引用。所以,当定义一个变量用来保存对象是,最好将该变量初始化为null而不是其他值。
  2. Undefined:当使用var声明变量但未对其进行初始化时,变量值为undefined。对于未声明过的变量,使用alert()函数会弹出一个错误,但对一个为声明过的变量使用typeof检测其变量类型时,会返回undefined。Undefined和Null类型都是具有一个值的类型。Undefined值是派生自null值的,因此“null==undefined”。
  3. Boolean:true不一定等于1,false不一定等于0;1==true返回false,但boolean(1)==true返回true。NaN与任何值都不相等,包括NaN本身,即NaN==NaN也返回false
  4. Number:对于较大或较小的数值可以使用e表示法来表示,如3e10表示3乘以10的10次幂。注:浮点数的最高精度是17位小数,但其精确度元不如整数。如0.1加0.2的结果不是0.3,而是0.30000000000000004。所以在浮点数的算术计算时,可以将其适当转换为整数。

注:数值范围:在大多数浏览器中,最大数值保存在Number.MAX_VALUE中,如果某次计算超出了javascript数值范围的值,将被自动转换为Infinity值,表示负无穷或正无穷。要判断一个值是否是有穷的,使用isFinite()函数。使用isNaN()函数时,该函数会尝试将传递的参数转换成数值,任何不能转换成数值的值都会导致这个函数返回true。可以转换为数值的就返回false,如10和“10”都返回false。 parseInt()函数: 在一个变量前加个"+"号,表示对这个变量取数字,相当于对这个变量运用number()函数

  1. String:变量值为undefined和null的变量没有toString()方法,也就是说toString()方法对这种变量无影响,不能将其转换成字符串。但String()方法可以讲任何类型的变量转换成字符串。
  2. Object:
  • hasOwnProperty("name"): 查询当前对象是否有某属性。
  • isPrototypeOf(object): 检查传入的对象是否是另一个对象的原型。
  • propertyIsEnumerable(propertyName): 检查给定的属性是否能够使用for-in语句来枚举。
  • valueOf(): obj.valueOf()返回对象的字符串、数值或布尔值表示。测试了一下:就是返回变量的原始数值,是number就返回number...
  • toString(): 返回对象的字符串表示。

#运算符

  1. 逻辑与和逻辑非操作都是短路操作符。

逻辑或操作:

如果第一个操作数是对象,则返回第一个操作数。 如果第一个操作数的求值结果为false,则返回第二个操作数。 如果两个操作数都是对象,则返回第一个操作数 如果两个操作数都是null,则返回null; 如果两个操作数都是NaN,返回NaN. 如果两个操作数都是undefined,则返回undefined.

##逻辑与操作:

如果第一个操作数是对象,则返回第二个操作数。 如果第二个操作数是对象,则只有在第一个操作数的求值结果是true时,才返回对象。 如果两个操作数都是对象,则返回第二个操作数。 如果有一个操作数都是null,则返回null; 如果有一个操作数都是NaN,返回NaN. 如果有一个操作数都是undefined,则返回undefined.

  1. 加性操作符
  • 如果两个操作数都是字符串,则将第二个操作数与第一个操作数拼接起来;
  • 如果只有一个操作数是字符串,则将另一个操作数转换为字符串,然后将两个字符串拼接起来。
  • 如果有一个操作数是对象、数值或布尔值,则调用它们的toString()方法取得相应的字符串值,然后再应用关于字符串的规则。对于undefined和null,则分别调用String()函数并取得字符串"undefined"和"null".
  1. 关系操作符:
  • 如果两个操作数都是字符串,则比较两个字符串对应的编码值。"23"<"3" 返回true,"2"的字符编码是50,"3"的字符编码是51。
  • 任何操作数与NaN比较,结果返回均为false.
  • 字符串与数值比较,先将字符串转换成数值,然后再比较。
  • null和undefined是相等的,但不是全等的。
  • 如果两个操作数都是对象,则比较它们是不是同一个对象,如果是同一个对象则相等,返回true。否则返回false。

#语句

  1. continue 当有双重循环使用conrinue时,继续执行,外部循环从变量连续,内部循环从头开始。

  2. break 一般情况下,break是调出一层循环,但如果在循环前添加标签后,break不仅会退出内部循环,也会跳出外部循环。

  3. with:with语句可以绑定一个对象。

          with(location){var qs = search.substring(1);  //相当于qs = location.search.substring(1);}
    

注:大量使用with语句会导致性能下降,同时也会给调试代码造成困难。因此,在开发大学应用程序时,不建议使用with语句。

  1. switch switch语句在比较值时使用的是全等操作符,不会发生类型转换,如:10不等于"10"

#函数

  1. javascript中包含应arguments对象,可以访问传递给函数的所有参数。js传递的参数是可以任意的,编译不会出错。arguments对象在全局中是不存在的

转载于:https://my.oschina.net/yanbiwei/blog/877430

javascript学习之基本概念相关推荐

  1. JavaScript学习笔记06【高级——JavaScript中的事件】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  2. JavaScript学习笔记05【高级——DOM对象】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  3. JavaScript学习笔记04【高级——DOM和事件的简单学习、BOM对象】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  4. JavaScript学习笔记01【基础——简介、基础语法、运算符、特殊语法、流程控制语句】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  5. 原来Github上也有这么多的JavaScript学习资源!

    程序员书库(ID:OpenSourceTop) 编译 书单来自:https://risingstars.js.org/2019/en/ 最近,bestofjs发布了2019年度JavaScript年度 ...

  6. 【经典回放】JavaScript学习详细干货笔记之(一)

    [经典回放]JavaScript学习详细干货笔记之(一) [经典回放]JavaScript学习详细干货笔记之(二) [经典回放]JavaScript学习详细干货笔记之(三) 目录 一.为什么要学Jav ...

  7. JavaScript学习总结(九)——Javascript面向(基于)对象编程

    转载自  JavaScript学习总结(九)--Javascript面向(基于)对象编程 一.澄清概念 1.JS中"基于对象=面向对象" 2.JS中没有类(Class),但是它取了 ...

  8. JavaScript学习总结(七)——JavaScript函数(function)

    转载自   JavaScript学习总结(七)--JavaScript函数(function) 一.函数基本概念 为完成某一功能的程序指令(语句)的集合,称为函数. 二.JavaScript函数的分类 ...

  9. JavaScript学习笔记之DOM篇,带你全面了解什么是DOM

    DOM在前面的JavaScript学习笔记(一)–JS基础里简单提到过,它是浏览器厂商提供的用来控制html / css 的代码的文档对象模型,是JavaScript的重要组成部分,现在带大家详细了解 ...

最新文章

  1. 王者服务器维修2019年四月份,2019王者荣耀4周年庆版本更新时间介绍[图]
  2. 初探HTML5的本地存储
  3. Ubuntu开源推进全面展开抢占微软市场
  4. 脚手架工程:介绍安装
  5. idea中Gitlab项目导入导出
  6. Linux grep及正则表达式
  7. unix和linux命令_在Linux / UNIX中查找命令
  8. DOTA版设计模式——责任链
  9. GPX格式地图轨迹生成python
  10. 【期末复习】电子商务
  11. Python:计算KDJ指标
  12. git拉取代码报错update_ref failed for ref ‘ORIG_HEAD‘:cannot lock ref ‘ORIG_HEAD‘
  13. vue - vue项目使用BOS (百度云对象存储)上传文件
  14. 窗口函数深度探索(二):控制窗口大小(UNBOUNDED、CURRENT、PRECEDING、FOLLOWING)
  15. 情人节适合送礼的数码好物有哪些?心意满满的数码好物清单
  16. 数据传输加密非对称加密算法以及对称算法-RSA+AES
  17. Excel如何永久去除“受保护视图”的打开提醒?
  18. 使Celery 4在Windows上运行的2种方法
  19. C++——HIS排班系统for Neuedu
  20. 百度李彦宏致股东:选择技术战略,就必须抵御短期机会诱惑 | CEO说

热门文章

  1. 快速创建 shell脚本
  2. url主机域名可以省略_网站迁移虚拟主机怎么样能不影响网站优化
  3. 万能系统卸载器免root_Linux umount命令:卸载文件系统
  4. FPGA之道(43)编写纯净的组合或时序逻辑
  5. Vivado中Debug的用法总结
  6. PostgreSQL 10.1 手册_部分 II. SQL 语言_第 8 章 数据类型_8.6. 布尔类型
  7. 小码哥iOS学习笔记第二天: OC对象的分类
  8. 全球首次!中国黑客通过安全漏洞远程攻破特斯拉,可在行驶中“帮”你刹车...
  9. 小型电商服务器平台搭建(一)
  10. 硬件工程师笔试常见问题