前端(八)js介绍(1)

js介绍(1)

文章目录

一、js介绍

javaScript一般用来编写客户端脚本,来为html页面添加交互行为,是前台语言,而不是后台语言。

javaScript是一种解释性语言同时也是弱类型语言,想要引入js有以下几种方式:

html 复制代码
<script>
  // 方式一
</script>
html 复制代码
<!--方式二-->
<script src="xxx.js"></script>

js中有多行注解和单行注解两种形式:

javascript 复制代码
//单行注解

/*
多行注解
*/

二、变量

js中有两种变量声明的方式var和let,它们的区别会在后面的文章中介绍。

javascript 复制代码
var name="abc";
let price=99;

js的变量由字母、数字、下划线、$ 组成,但是不能数字开头,也不能纯数字,同时不能为保留字;js变量严格区分大小写;

三、数据类型

3.1数字类型

javascript 复制代码
var x=111;
var x=1.234;
var x=3e-4;
var x=NaN;

//四舍五入,保留两位小数
var num=2.345
num.toFixed(2) 
<<<'2.35'

//查看数据类型
typeof num
<<<'number'

//数字转字符串
n=num.toString()
typeof n
<<<'string'

//转为整形数字
parseInt(1.23)
parseInt('1.23')
parseInt('abc')
parseInt('123abc')
parseInt('abc123')
<<<1
<<<1
<<<NaN
<<<123
<<<NaN

//转为浮点数字
parseFloat(n)
<<<2.345

//由于js为弱类型语言,不同类型的值会被强制转换后进行计算
'1'+2
'1'-2
<<<'12'
<<<-1

3.2 字符串类型

javascript 复制代码
var a='张三';
var b=12;
var c=String(b);

//字符串拼接
var a0='123';
var a1='456';
a0+a1
a0.concat(a1)
<<<'123456'

//字符串的长度
a.length
<<<2

//去除字符串两端空格
var d='  123  ';
d.trim()
<<<'123'
//去除左侧/右侧空格
d.trimLeft()
d.trimRight()

//索引,超出长度不报错
var e='1234567'
e.charAt(0)
e.charAt(7)
<<<'1'
<<<''

//字符查找,找到返回索引,找不到返回-1,第二个参数表示查找的起始位置
var f='abcd'
f.indexOf('c',1)
f.indexOf('e')
<<<2
<<<-1

//切片,取头不取尾
f.substring(1,3)
f.substring(3,1)
f.substring(1,)
<<<'bc'
<<<'bc'
<<<'bcd'
f.slice(1,3)
f.slice(3,1)
f.slice(-3,-1)
f.slice(-1,-3)
<<<'bc'
<<<''
<<<'bc'
<<<''

//大小写转换
var g='aBcD';
g.toUpperCase()
g.toLowerCase()
<<<'ABCD'
<<<'abcd'

//切割,第二个参数为切割次数
var h='12gawwar';
h.split('a')
h.split('a',1)
<<< ['12g', 'ww', 'r']
<<<['12g']

//字符串模板
i=`
123
456
`

var name='张三';
j=`My name is ${name}`
<<<'My name is 张三'

3.3布尔值

javascript 复制代码
var a=true;
var b=false;

//查看变量的布尔值
Boolean([])
<<<true

\]在js中布尔值为真,""、0、null、undefined、NaN在js中布尔值为假。 另外null表示变量的值是空,undefined则表示只声明了变量但还没有赋值或者没有返回值的函数返回内容。 ### 3.4数组 ```javascript var a=[11,'12',1.23]; typeof a <<<'object' //长度 a.length <<<3 //索引 a[0] <<<11 //在末尾加入/取出元素 a0=a.push('z') //返回数组长度 <<<4 a <<<[11, '12', 1.23, 'z'] a1=a.pop() <<<'z' a <<<[11, '12', 1.23] //在数组头部插入/取出元素 a2=a.unshift('z') //返回数组长度 <<<4 a <<<['z', 11, '12', 1.23] a3=a.shift() <<<'z' a <<<[11, '12', 1.23] //切片,取头不取尾 a.slice(1,3) <<<['12', 1.23] //反转数组,原数组也会反转并且返回反转后的数组 a.reverse() <<<[1.23, '12', 11] //数组拼接成字符串 a.join('--') '1.23--12--11' //数组拼接 //强行拼接会将数组中内容转为字符串后进行字符串拼接 a+a <<<'1.23,12,111.23,12,11' a.concat(a) <<< [1.23, '12', 11, 1.23, '12', 11] //数组排序 var b=[101,20,305,7] //不传入函数sort会将数组元素转为字符串进行比较 b.sort() <<<[101, 20, 305, 7] //比较函数会依次比较数组中的元素,返回值>0表示x>y,以此类推,因此升序是x-y,降序是y-x b.sort(function(x,y){return x-y}) <<<[7, 20, 101, 305] //删除并插入元素 //从索引1位置向后删除两个元素,在向该位置插入一个元素,返回被删除的元素 b0=b.splice(1,2,1000) <<<[20, 305] b <<<[101, 1000, 7] //在数组指定位置插入n个元素 b.splice(1,0,100,200,300) b <<<[101, 100, 200, 300, 20, 305, 7] //遍历数组的函数 //map与forEach的使用方法相似,但是forEach没有返回值,map会将每次执行函数的返回值放入数组中 var a=[11,22,33,44] //v比填,表示当前元素,i选填,表示索引,arr选填,表示元素隶属的数组,"hello"可以不写,为传给this的参数 a.forEach(function(v,i,arr){ console.log(v,i,arr); console.log(this); },"hello") <<<11 0 [11, 22, 33, 44] String {'hello'} <<<22 1 [11, 22, 33, 44] String {'hello'} <<<33 2 [11, 22, 33, 44] String {'hello'} <<<44 3 [11, 22, 33, 44] String {'hello'} <<3?"yes":"no" <<<'yes' ```

相关推荐
不浪brown25 分钟前
开源!矢量建筑白模泛光特效以及全国77个大中城市的矢量shp数据获取!
前端·cesium
山有木兮木有枝_27 分钟前
JavaScript 数据类型与内存分配机制探究
前端
小小小小宇32 分钟前
前端 异步任务并发控制
前端
bysking1 小时前
【27-vue3】vue3版本的"指令式弹窗"逻辑函数createModal-bysking
前端·vue.js
LuckySusu1 小时前
【HTML篇】script`标签中的 defer 与 async:深入解析异步加载 JavaScript 的差异
前端·html
CAD老兵1 小时前
在 TypeScript 中复用已有 Interface 的部分属性:完整指南
前端
一头小鹿1 小时前
【JS】原型和原型链 | 笔记整理
javascript
龚思凯1 小时前
Vue 3 中 watch 监听引用类型的深度解析与全面实践
前端·vue.js
于冬恋1 小时前
Web后端开发(请求、响应)
前端
red润1 小时前
封装hook,复刻掘金社区,暗黑白天主题切换功能
前端·javascript·vue.js