博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript学习之基本概念
阅读量:6938 次
发布时间:2019-06-27

本文共 2433 字,大约阅读时间需要 8 分钟。

hot3.png

#变量类型

  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

你可能感兴趣的文章
hibernate添加时间问题
查看>>
深入浅出CChart 每日一课——第十三课 似曾相识之云图,乱花渐欲迷人眼
查看>>
Oracle操作的部分ddl语句
查看>>
Excel 中使用SQL 语句查询数据(四)
查看>>
序列动作Sequence
查看>>
SpringMVC 架构、原理
查看>>
Spring Shiro
查看>>
小蚂蚁学习数据结构(10)——树的基本介绍
查看>>
linux apache
查看>>
在CMD命令行下关闭进程的命令
查看>>
puppet学习笔记之安装与配置
查看>>
ROS教程(6)---×××配置及应用
查看>>
Nginx服务器搭建和基本配置详解
查看>>
vSphere 4.1 的新增功能
查看>>
栈的实现,入栈判断是否Full,出栈判断是否Empty
查看>>
nagios 安装配置
查看>>
centos 6.5下搭建ipsec/xl2tpd ×××
查看>>
【BFS】POJ 3278
查看>>
Python字符串格式化
查看>>
计算时针与分针夹角的度数的算法
查看>>