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

相关推荐
J总裁的小芒果2 分钟前
el-table 自定义列、自定义数据
前端·javascript·vue.js
晚风予星3 分钟前
简记|React+Antd中实现 tooltip、ellipsis、copyable功能组件
前端·react.js
brzhang10 分钟前
告别『上线裸奔』!一文带你配齐生产级 Web 应用的 10 大核心组件
前端·后端·架构
程序员Bears10 分钟前
深入理解CSS3:Flex/Grid布局、动画与媒体查询实战指南
前端·css3·媒体·visual studio code
工呈士17 分钟前
CSS in JS:机遇与挑战的思考
javascript·css
至尊童19 分钟前
五个JavaScript 应用技巧
javascript
David凉宸22 分钟前
凉宸推荐给大家的一些开源项目
前端
举个栗子dhy24 分钟前
编辑器、代码块、大模型AI对话中代码复制功能实现
javascript
袋鱼不重24 分钟前
Cursor 最简易上手体验:谷歌浏览器插件开发3s搞定!
前端·后端·cursor
hyyyyy!24 分钟前
《从分遗产说起:JS 原型与继承详解》
前端·javascript·原型模式