JavaScript部分知识

本文介绍了JavaScript的基本语法,包括语句结构、变量声明、数据类型(如Number、String、Boolean和Undefined/Null)、运算符、类型转换、条件判断(if、三元运算符、switch)、循环(while、for)、数组操作(push、pop、shift、unshift、sort、reverse)以及函数定义。还提到了模板字符串和函数提升等概念。
摘要由CSDN通过智能技术生成

JavaScript

基本语法

语句结尾可加 可不加 ;,看项目要求。

输入输出:

    <script>
        //文档输出内容
        document.write('标题')
        document.write('<h1>标题</h1>')
        //控制台输出给程序员
        console.log('早上好')
        //页面弹出警示对话框
        alert('警示框')
        //输入框
        prompt('请输入')//两个框按先后顺序出现
     </script>

变量:

        //声明变量
        let age = 19, name = '田祥'
        //赋值
        name = '田志祥'
        //age = 18
        document.write(age, name)

数据类型

可通过typeof 运算符可以返回被检测的数据类型。它支持两种语法形式:

  1. 作为运算符:typeof x(常用的写法)

  2. 函数形式:typeof (x)

有括号和没有括号,得到的结果是一样的。

数组 Number

    let arr = [10, 20, 30]
    let name = ['天香', '田志祥', '田祥']
    document.write(arr[0], name[1])
    document.write(arr.length)

字符串 String

通过单引号('')、双引号("")或反引号()包裹的数据都叫字符串,单引号和双引号没有本质上的区别,推荐使用单引号。

    let name = '小明' // 使用单引号 
    let gender = "男" // 使用双引号 
    let goods =`小米` //使用反引号
    let tel = '123456' // 看上去是数字,但是引号包裹了就是字符串 
    let str = '' //这种情况叫空字符串

注意事项: 1.无论单引号或是双引号必须成对使用。 2.单引号/双引号可以互相嵌套,但是不以自已嵌套自已(口诀:外双内单,或者外单内双)。 3.必要时可以使用转义符\,输出单引号或双引号。

字符串拼接

+运算符可以实现字符串的拼接。

数字相加,字符相连

    document.write('我叫'+'田志祥') // 我叫田志祥 
    let uname ='田志祥' 
    let act ='行大运'
    document.write(uname + act) // 刘德华行大运
    document.write(1 + 2) // 3

布尔 Boolean

肯定的数据用true,表示否定的数据用 false。

未定义 Undefined

只声明变量,不赋值的情况下,变量的默认值为undefined。

let age // 声明变量但是未赋值    
document.write(age) // 输出 undefined

我们开发中经常声明一个变量,等待传送过来的数据。如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined(一般很少直接为某个变量赋值为undefined),就判断用户是否有数据传递过来。

空值 Null

null 仅仅是一个代表“无”、“空”或“值未知”的特殊值

let obj = null
console.log(obj) // null

undefined 表示没有赋值,null 表示赋值了,但是内容为空

console.log(undefined + 1);//NaN表未知
console.log(null + 1);//1

当变量里面要存放的是一个对象时,但对象还没创建好,可以先给个null代替。

类型转换

JavaScript是弱数据类型 例如:使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算。

隐式转换

  1. +号两边只要有一个是字符串,都会把另外一个转成字符串

  2. 除了+以外的算术运算符比如:- * / 等都会把数据转成数字类型缺点:

  3. +号作为正号解析可以转换成数字型

显性转换

Number(数据)转成数字类型,如果字符串内容里有非数字,转换失败时结果为NaN(Not a Number)即不是一个数字(NaN也是number类型的数据,代表非数字)。

parselnt(数据)只保留整数(不四舍五入),parseFloat(数据)可保留小数(有单位忽略单位,如:parseInt("12px")//12)。

String(数据) 将值转为字符串。

Boolean(数据) 将值转为布尔值(0 , "" , null , undefined 均为false)。

运算符

和C语言学的预算符基本相同。

需要注意的是:

let i = 1
console.log(++i + i++ + i);//7
console.log(2 == '2');//true 发生了隐形转换
console.log(2 === '2');//false 看是否全等(类型和数值)
console.log(2 != '2');//false
console.log(2 !== '2');//true 
console.log(NaN === NaN);//false
  1. NaN不等于任何人包括他自己。

  2. 判断相等建议===。

  3. 字符串比较ASCLL值,按字符顺序依次比较;汉字比较拼音。

console.log(true || false);//true

预算符优先级:

判断

1、if分支语句

2、三元运算符 条件?满足条件的代码:不满足条件的代码

3、switch语句 例子:

let num1 = +prompt('请您输入第一个数字:')        
let num2 = +prompt('请您输入第二个数字:')    
let sp = prompt('请您输入 +-*/ 其中一个:')  
switch (sp) {   
case'+':
    alert('两个数的加法操作是${num1 + num2}')    
    break   
case'-':    
    alert('两个数的减法操作是${num1 - num2}')    
    break   
case'*':    
    alert('两个数的乘法操作是${num1 * num2}')    
    break   
case '/':   
    alert('两个数的除法操作是${num1 / num2}')
    break   
default:
    alert('不正确')
}

1.除了空字符串(''),所有字符串都为真(里面有空格也为正' ')。

2.判断语句下就一个运算符,也建议加上{}。

循环

按之前C语言算法的基础上,用JavaScript语法即可。

1、while循环

2、for循环

for(;;) 无限循环

数组操作

样例:

let arr = [2, 0,6,1,77,9,54,3,78,7] 
// 1、声明新的空的数组   
let newArr =[]  
// 2.遍历旧数组  
for (let i = 0; i < arr.length; i++) {  
if (arr[i] >= 10) { 
// 3.满足条件追加给新的数组    
newArr.push(arr[i]) 
    }   
}
//4.输出新的数组  
console.log(newArr) 

push()和pop()

push(): 可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。

pop():数组末尾移除最后一项,减少数组的 length 值,然后返回移除的项。

注意:pop()里面没有参数,及时有参数,也是删除最后一项。

shift() 和 unshift()

shift():删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined 。

unshift:将参数添加到原数组开头,并返回数组的长度 。

sort()

按升序排列数组项——即最小的值位于最前面,最大的值排在最后面。

sort()方法比较的是字符串

reverse()

反转数组项的顺序。

concat()

将参数添加到原数组中。

参考链接:http://t.csdnimg.cn/Lw6EG

函数

函数定义

JavaScript 使用关键字 function 定义函数,函数可以通过声明定义,也可以是一个表达式。

函数提升

提升应用在变量的声明与函数的声明。

因此,函数可以在声明之前调用:

a(5);
​
function a(y) {
    return y * y;
}

使用表达式定义函数时无法提升

杂知识点

1.${}是JavaScript中的模板字符串语法(有时替代+连接),用于在字符串中插入动态的变量或表达式 http://t.csdnimg.cn/r3HUD

  • 17
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值