javascript总结之变量/常量/数据类型

介绍

1996年11月,JavaScript的创造者—Netscape公司(已经倒闭),决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。

该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。而是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。

因此ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。

年份名称描述
1997ECMAScript 1第一个版本
1998ECMAScript 2版本变更
1999ECMAScript 3添加正则表达式添加try/catch
ECMAScript 4没有发布
2009ECMAScript 5添加"strict mode"严格模式添加JSON支持
2011ECMAScript 5.1版本变更
2015ECMAScript 6添加类和模块。 ES6
2016ECMAScript 7增加指数运算符(**)增加Array.prototype.includes

一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:

  1. 核心(ECMAScript)
  2. 文档对象模型(DOM) Document object model (整合js,css,html)
  3. 浏览器对象模型(BOM) Broswer object model(整合js和浏览器)

JavaScript 是脚本语言
JavaScript 是一种轻量级的编程语言。
JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。

引入方式

script标签内部写代码

<script>
  // 这里写代码
</script>

引入外部代码

<script src="/js/myscript.js"></script> <!-- 一般放在body内容结束为止 -->
注释

单行注释

// 单行注释

多行注释

/*
多行注释
*/
变量

声明变量

var  // 全局作用域
let  // 局部作用域 ec6新添加的

代码块

命名规范

字母 数字 下划线 $

不能用数字开头 不能与关键字冲突

区分大小写

驼峰体 userName

var band;
var a, b, c, d;
var band = "beyond";
var name="jane", age = 19;
// 变量声明不赋值 默认是unddefined
常量

声明

const pai = 3.14;

注意:常量一旦定义不能修改

数据类型

number数字类型

JavaScript不区分整型和浮点型,就只有一种数字类型

var a = 12.34;
var b = 20;
var c = 123e5;  // 12300000
var d = 123e-5;  // 0.00123

parseInt("123")  // 转int类型 返回123
parseInt("ABC")  // 返回NaN,NaN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。
parseFloat("123.456")  // 转浮点数类型,返回123.456

NaN not a number,NaN是一个数值类型,表示当前转换的对象不是一个数值类型

string字符串类型

字符串连接 +

方法说明
.length取长度
.trim()去除左右空格
.trimLeft()去除左边空格
.trimRight()去除右边空格
.charAt(m)索引取值
.concat()拼接
.indexOf(‘x’)取字符的索引
.subString(0,3)截取字符,不支持负数
.slice(0,3)切片取值,支持负数(到着取)推荐使用
.toLowerCase()小写
.toUpperCase()大写
.split()分隔字符 第二个参数限制份数 返回的是数组
.replace()替换字符
.lastIndexOf(‘x’)取字符在字符串中的最后一个索引

String.subString(start, stop) 和 String.slice(start, stop) 的区别

两者的相同点:
如果start等于end,返回空字符串
如果stop参数省略,则取到字符串末
如果某个参数超过string的长度,这个参数会被替换为string的长度

substirng()的特点:
如果 start > stop ,start和stop将被交换
如果参数是负数或者不是数字,将会被0替换

silce()的特点:
如果 start > stop 不会交换两者
如果start小于0,则切割从字符串末尾往前数的第abs(start)个的字符开始(包括该位置的字符)
如果stop小于0,则切割在从字符串末尾往前数的第abs(stop)个字符结束(不包含该位置字符)

多行文本

var name = `
bbababa
bababab
eeeee
`

格式化输出

var res = `
my name is ${name} my age is ${age}
`
// 用到的变量要事先定义好

转义

var res = `
my name is \${name}
`
//  \ 即可转义

boolean布尔类型

true, false 默认全是小写

注意:""(空字符串)、0、null、undefined、NaN都是false。

null undefined

undefined == false

null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null

undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。还有就是函数无明确的返回值时,返回的也是undefined。

object对象

JavaScript 中的所有事物都是对象:字符串、数值、数组、函数…此外,JavaScript 允许自定义对象。

JavaScript 提供多个内建对象,比如 String、Date、Array 等等。

对象只是带有属性和方法的特殊数据类型。

array数组

数组 一系列的有顺序的数据

var a = [123, "ABC"]; 
xx[0] // 索引取值
xx[4] = 5 // 添加数据 前提要知道索引值
delete xx[1]  // 删除指定索引的元素的值,不会删除元素本身,元素变为undefined 返回的是true和false
方法说明
.length数组的大小
.push(ele)尾部追加元素
.pop()从尾部删除元素,并返回元素
.unshift(ele)在头部插入元素
.shift()从头部移除元素,并返回元素
.slice(start, end)切片
.reverse()反转
.join()将数组连接成字符串
.concat()连接数组
.sort()排序
.forEach()将数组的每个元素传递给回调函数
.splice()删除元素,并向数组添加新元素。
.map()返回一个数组元素调用函数处理后的值的新数组

在这里插入图片描述
在这里插入图片描述

类型查询
typeof "abc"  // "string"
typeof null  // "object"
typeof true  // "boolean"
typeof 123 // "number"  

typeof是一个一元运算符(就像++,–,!,- 等一元运算符),不是一个函数,也不是一个语句。

对变量或值调用 typeof 运算符将返回下列值之一:

  • undefined - 如果变量是 Undefined 类型的
  • boolean - 如果变量是 Boolean 类型的
  • number - 如果变量是 Number 类型的
  • string - 如果变量是 String 类型的
  • object - 如果变量是一种引用类型或 Null 类型的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值