博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javascript基础学习干货教程(3)
阅读量:7087 次
发布时间:2019-06-28

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

JavaScript 数据类型

值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol(表示独一无二的值)。

引用数据类型:对象(Object)、数组(Array)、函数(Function)。

  1. NaN 的数据类型是 number
  2. 数组(Array)的数据类型是 object
  3. 日期(Date)的数据类型为 object
  4. null 的数据类型是 object
  5. 未定义变量的数据类型为 undefined
  • 通常使用字符创建字符串:var firstName = "John",也可以使用 new 关键字将字符串定义为一个对象: var firstName = new String("John"),但一般不推荐(拖慢执行速度,并可能产生其他副作用)。可以用内置属性 .length 来计算字符串的长度,转义字符 (\) 可以用于转义撇号,换行,引号,等其他特殊字符。
下表中列举了在字符串中可以使用转义字符转义的特殊字符:
代码 输出
\' 单引号
\" 双引号
\\ 反斜杠
\n 换行
\r 回车
\t tab(制表符)
\b 退格符
\f 换页符
字符串属性:
属性 描述
constructor 返回创建字符串属性的函数
length 返回字符串的长度
prototype 允许您向对象添加属性和方法
字符串方法:
方法 描述
charAt() 返回指定索引位置的字符
charCodeAt() 返回指定索引位置字符的 Unicode 值
concat() 连接两个或多个字符串,返回连接后的字符串
fromCharCode() 将 Unicode 转换为字符串
indexOf() 返回字符串中检索指定字符第一次出现的位置
lastIndexOf() 返回字符串中检索指定字符最后一次出现的位置
localeCompare() 用本地特定的顺序来比较两个字符串
match() 找到一个或多个正则表达式的匹配
replace() 替换与正则表达式匹配的子串
search() 检索与正则表达式相匹配的值
slice() 提取字符串的片断,并在新的字符串中返回被提取的部分
split() 把字符串分割为子字符串数组
substr() 从起始索引号提取字符串中指定数目的字符
substring() 提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase() 根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase() 根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLowerCase() 把字符串转换为小写
toString() 返回字符串对象值
toUpperCase() 把字符串转换为大写
trim() 移除字符串首尾空白
valueOf() 返回某个字符串对象的原始值
=== 为绝对相等,即数据类型与值都必须相等。
  • Undefined 表示变量不含有值
  • 变量的值设置为 null 来清空变量,null是一个空对象
  • null 和 undefined 的值相等,但类型不等
  • 当您声明新变量时,可以使用关键词 "new" 来声明其类型:

    var carname=new String;
    var x= new Number;

  • 对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔 ,在 JavaScript中,几乎所有的事物都是对象。JavaScript 对象是变量的容器,容器中的变量有值。定义 JavaScript 对象可以跨越多行,空格跟换行不是必须的

1. 对象键值对的写法类似于:Python 中的字典和C 语言中的哈希表,通过两种方式访问对象属性——person.lastName(或person["lastName"];)

2. 对象的方法定义了一个函数,并作为对象的属性存储。访问 person 对象的 fullName方法属性时,不加括号输出函数表达式,加括号(调用)输出函数执行结果。

3. 创建对象的方法:

methodName : function() { code lines }复制代码
  • 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。语法如下:function functionname ( )
    {
    // 执行代码
    }

1. 关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数

2. 变量和参数必须以一致的顺序出现。第一个变量就是第一个被传递的参数的给定的值,以此类推。函数参数只在函数内起作用,是局部变量。

3. 通过使用 return 语句,函数会停止执行,并返回指定的值

typeof 操作符来检测变量的数据类型

类型转换:

  • 函数 String()和方法toString() 将数字转换为字符串

方法 描述
toExponential() 把对象的值转换为指数计数法。
toFixed() 把数字转换为字符串,结果的小数点后有指定位数的数字。
toPrecision() 把数字格式化为指定的长度。
  • 函数String()和 方法toString() 可以将布尔值转换为字符串。
  • Date()返回字符串、函数String() 和方法toString() 可以将日期对象转换为字符串方法描述(返回的都是字符串)getDate()从 Date 对象返回一个月中的某一天 (1 ~ 31)。getDay()从 Date 对象返回一周中的某一天 (0 ~ 6)。getFullYear()从 Date 对象以四位数字返回年份。getHours()返回 Date 对象的小时 (0 ~ 23)。getMilliseconds()返回 Date 对象的毫秒(0 ~ 999)。getMinutes()返回 Date 对象的分钟 (0 ~ 59)。getMonth()从 Date 对象返回月份 (0 ~ 11)。getSeconds()返回 Date 对象的秒数 (0 ~ 59)。getTime()返回 1970 年 1 月 1 日至今的毫秒数。
  • 函数Number() 可以将字符串转换为数字。数字(如 "3.14") 转换为数字 (如 3.14).空字符串转换为 0。其他的字符串会转换为 NaN (不是个数字)。
    方法 描述
    parseFloat() 解析一个字符串,并返回一个浮点数。
    parseInt() 解析一个字符串,并返回一个整数。
  • Operator + 可用于将变量转换为数字,如果变量不能转换,它仍然会是一个数字,但值为 NaN (不是一个数字)。
  • 函数Number() 可将布尔值转换为数字
  • 函数Number() 和日期方法 getTime()可将日期转换为数字。

自动转换类型:当 JavaScript 尝试操作一个 "错误" 的数据类型时,会自动转换为 "正确" 的数据类型。当你尝试输出一个对象或一个变量时 JavaScript 会自动调用变量的 toString() 方法.

下表展示了使用不同的数值转换为数字(Number), 字符串(String), 布尔值(Boolean):

原始值 转换为数字 转换为字符串 转换为布尔值
false 0 "false" false
true 1 "true" true
0 0 "0" false
1 1 "1" true
"0" 0 "0" true
"000" 0 "000" true
"1" 1 "1" true
NaN NaN "NaN" false
Infinity Infinity "Infinity" true
-Infinity -Infinity "-Infinity" true
"" 0 "" false
"20" 20 "20" true
"Runoob" NaN "Runoob" true
[ ] 0 "" true
[20] 20 "20" true
[10,20] NaN "10,20" true
["Runoob"] NaN "Runoob" true
["Runoob","Google"] NaN "Runoob,Google" true
function(){} NaN "function(){}" true
{ } NaN "[object Object]" true
null 0 "null" false
undefined NaN "undefined" false

转载于:https://juejin.im/post/5cda675cf265da038364e69a

你可能感兴趣的文章
优化Git本地仓库
查看>>
对.NET Core未来发展趋势的浅层判断
查看>>
Python高级知识点学习(七)
查看>>
《人月神话》(P7)编写手册和组织开会
查看>>
WPF如何实现一个漂亮的页签导航UI
查看>>
Dubbo+zookeeper实现分布式服务框架
查看>>
HTML编码规范
查看>>
游戏开发者福音:微软开源部分 Minecraft 的 Java 代码
查看>>
Firefox 66 存在使 PPT 文字消失的 bug,v68 才修复
查看>>
Android 三星手机拍照,从图库选择照片旋转问题完美解决
查看>>
在线表格 x-spreadsheet 1.0.16 发布
查看>>
PostgreSQL 多值列的选择性 - Statistics, Cardinality, Selectivity, Estimate
查看>>
三大主流芯片架构特点
查看>>
Python Flask学习知识点(四)
查看>>
Confluence 6 数据库整合的限制
查看>>
scala 与 java泛型数组
查看>>
哈佛团队开发出使用声波来辅助粘性液体的3D打印技术
查看>>
leaflet实用插件整理
查看>>
vue基础
查看>>
Eclipse中安装MemoryAnalyzer插件及使用
查看>>