5.25学习js笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.25学习js笔记相关的知识,希望对你有一定的参考价值。

1、javascript的基本数据类型有三种:

  • (1)数字型(Number型)[如123,45.6(整数型,浮点数型)]
  • (2)字符串型(String型)
  • [如str123,你好JavaScript  这些
  • 字符串是由Unicode字符、数字、标点符号等组成的序列,它是JavaScript用来表示文本的数据类型。程序中的字符串型数据是包含在单引号或双引号中的,由单引号定界的字符串中可以含有双引号,
  • 由双引号定界的字符串中也可以含有单引号。]
  • (3)布尔型(Boolean型)[只有两个“ture”,“false”]

2、JavaScript特殊数据类型

  • (1)空值(null型)
  • (2)未定义值(undefined型)
  • (3)转义字符

    此外,JavaScript中有一种特殊类型的数字常量NaN,即“非数字”。当在程序中由于某种原因发生计算错误后,将产生一个没有意义的数字,此时JavaScript返回的数字值就是NaN。

    null与undefined的区别是,null表示一个变量被赋予了一个空值,而undefined则表示该变量尚未被赋值。

   转义字符:以反斜杠“\”开头的不可显示的特殊字符通常称为转义字符。通过转义字符可以在字符串中添加不可显示的特殊字符,或者防止引号匹配混乱的问题。

JavaScript常用的转义字符
转义字符说明
\b 退格
\n 回车换行
\t Tab符号
\f 换页
\‘ 单引号
\" 双引号
\v 跳格(Tab,水平)
\r 换行
\\ 反斜杠
\OOO 八进制整数,范围为000~777
\xHH 十六进制整数,范围为00~FF
\uhhhh 十六进制编码的Unicode字符

   这张表列举了JavaScript常用的转义字符,一般只需要记忆\n、\‘、\"  即可;

 

 3、在进行ife学习的过程中,在第二章“JavaScript数据类型及语言基础”中

  • 创建一个JavaScript文件,比如util.js
  • 实践判断各种数据类型的方法,并在util.js中实现以下方法// 判断arr是否为一个数组,返回一个bool值
function isArray(arr) {
    // your implement
}

// 判断fn是否为一个函数,返回一个bool值
function isFunction(fn) {
    // your implement
}

来判断一个变量的数据类型的方法,一般可以用typeof()方法;
var a="aaa";
var b=123;
var c= [1,2,3];
var d = new Date();
var e=function(){}
var f=null;

alert(typeof a)   ------------> string

alert(typeof b)   ------------> number

alert(typeof c)   ------------> object

alert(typeof d)   ------------> object

alert(typeof e)   ------------> function

alert(typeof f)   ------------> object;

 

其中typeof返回的类型都是字符串形式,需注意,例如:

alert(typeof a == "string") -------------> true

alert(typeof a == String) ---------------> false

另外typeof 可以判断function的类型;在判断除Object类型的对象时比较方便;

但想判断一个变量是否是数组的时候,可以用以下方法:

1.判断已知对象类型的方法: instanceof

alert(c instanceof Array) ---------------> true

alert(d instanceof Date) ---------------> true

alert(e instanceof Function) ------------> true

alert(e instanceof function) ------------> false

注意:instanceof 后面一定要是对象类型,并且大小写不能错,该方法适合一些条件选择或分支。

 如:a instanceof b?alert("true"):alert("false")  //注意b值是你想要判断的那种数据类型,不是一个字符串,比如Array(

注意:三元运算符:(?:)如名字表示的三元运算符需要三个操作数。语法是 条件 ? 结果1 : 结果2;. 这里你把条件写在问号(?)的前面后面跟着用冒号(:)分隔的结果1和结果2。满足条件时结果1否则结果2。)

2.根据对象的constructor判断: constructor

alert(c.constructor === Array) ----------> true

alert(d.constructor === Date) -----------> true

alert(e.constructor === Function) -------> true

在W3C定义中的定义:constructor 属性返回对创建此对象的数组函数的引用

就是返回对象相对应的构造函数,然后与给出的参数进行判断;从定义上来说跟instanceof不太一致,但效果都是一样的

3.通用但很繁琐的方法: prototype

alert(Object.prototype.toString.call(a) === ‘[object String]’) -------> true;

alert(Object.prototype.toString.call(b) === ‘[object Number]’) -------> true;

alert(Object.prototype.toString.call(c) === ‘[object Array]’) -------> true;

alert(Object.prototype.toString.call(d) === ‘[object Date]’) -------> true;

alert(Object.prototype.toString.call(e) === ‘[object Function]’) -------> true;

alert(Object.prototype.toString.call(f) === ‘[object Null]’) -------> true;

大小写不能写错,比较麻烦,但胜在通用。

通常情况下用typeof 判断就可以了,遇到预知Object类型的情况可以选用instanceof或constructor方法。

 

 

以上是关于5.25学习js笔记的主要内容,如果未能解决你的问题,请参考以下文章

js三元运算符

python笔记14-三元运算符

JavaScript学习笔记

三元运算符注意事项

Swift学习笔记——基本运算符

js知识点js三元运算符