前端(八)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' ```

相关推荐
腾讯TNTWeb前端团队2 小时前
helux v5 发布了,像pinia一样优雅地管理你的react状态吧
前端·javascript·react.js
范文杰6 小时前
AI 时代如何更高效开发前端组件?21st.dev 给了一种答案
前端·ai编程
拉不动的猪6 小时前
刷刷题50(常见的js数据通信与渲染问题)
前端·javascript·面试
拉不动的猪6 小时前
JS多线程Webworks中的几种实战场景演示
前端·javascript·面试
FreeCultureBoy6 小时前
macOS 命令行 原生挂载 webdav 方法
前端
uhakadotcom7 小时前
Astro 框架:快速构建内容驱动型网站的利器
前端·javascript·面试
uhakadotcom7 小时前
了解Nest.js和Next.js:如何选择合适的框架
前端·javascript·面试
uhakadotcom7 小时前
React与Next.js:基础知识及应用场景
前端·面试·github
uhakadotcom7 小时前
Remix 框架:性能与易用性的完美结合
前端·javascript·面试
uhakadotcom8 小时前
Node.js 包管理器:npm vs pnpm
前端·javascript·面试