【狂神说JAVA】JavaScript详细笔记(全)

这篇博客详细介绍了JavaScript的基本语法,包括数据类型如变量、Number、字符串、布尔值等,以及字符串、数组和对象的操作。还涵盖了流程控制、Map和Set、迭代器、函数定义、变量作用域、DOM操作等内容,是学习JavaScript的基础教程。
摘要由CSDN通过智能技术生成

JavaScript

目录

JavaScript

一、快速入门

1.1引入JavaScript

1.内部标签

2.外部引入

1.2基本语法入门 弹窗alert() 打印console.log()

1.3数据类型

1.变量

2.Number

3.字符串

4.布尔值

5.逻辑运算

6.比较运算符

7.null和undefined

8.数值

1.4严格检查模式

二、数据类型

2.1字符串

1.正常字符串’ ’ “ ”

2.转义字符 \

3、多行字符串编写 ~连接

4、模板字符串

5.字符串长度

6.字符串的可变性,不可变

7.大小写转换

8.截取:.charAt( );

9.获取位置:.indexOf(' '))

10.截取下标几到几.substring(1,3))

2.2数组

1.长度

2.indeOf 通过元素获得下标索引

3.slice()截取Array的一部分,返回一个新数组,类似于String中的substring,[ )

4.push(压入),pop (弹出)往尾部压入或者弹出

5.unshift(压入),shift(弹出)头部

6.排序sort()

7.元素反转reverse()

8.替换 concat()

9.连接符,join(),fou循环拼接

10.多维数组

2.3对象

1.对象赋值

2.动态的删减属性

3.动态的添加

4.判断属性是否在这个对象中!”xx” in xx

5.判断一个属性是否是这个对象自身拥有的hasOwnProperty()

2.4流程控制

1.If判断

2.while循环,避免程序死循环

3.for循环

4.数组循环

5.forEach循环(1引入的)

6.for...in

2.5Map和Set

Map:

Set:无序不重复的集合

2.6iterator(迭代器)

遍历数组:

遍历map:

遍历set:

三、函数

3.1定义函数

定义方式1:

定义方式2:

调用函数:

Arguments

rest

3.2变量的作用域

1.假设在函数体中声明,则在函数体外不可以使用~如果非要使用,则涉及到闭包

2.如果两个函数使用了相同的变量名,只要在函数内部,就不冲突

3.内部函数可以访问外部函数的成员,反之不行

4.假设,内部函数变量和外部函数的变量重名,由内向外查找——就近原则

3.3方法

1.第一种写法------

2.第二种写法-----

3.Apply:   

四、内部对象

4.1Date

4.2json

五、面向对象编程

Class继承:

原型链:

七、操作DOM对象()

7.1获得dom节点

7.2更新节点

7.3删除节点

7.4插入节点

a.追加:

b.创建一个新的标签,实现插入

c.创建一个新标签节点(通过这个属性,可以设置任意的值)

d.把目标节点插入在**节点之前

总结:

八、表单

1.原始:

2.MD5算法加密:

3.隐藏原始密码:

4.MD5加密密码,表单优化

九、Query



  • 什么是JavaScript
    1.1、概述
    JavaScript是一门世界上最流行的脚本语言
    JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为 开发Web页面的脚本语言而出名,但是它也被 用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且 支持面向对象、命令式和声明式(如函数式编 程)风格。
    一个合格的后端人员,必须精通JavaScript
    1.2、历史
    历史相关链接:JavaScript 的历史icon-default.png?t=N7T8https://www.w3school.com.cn/js/pro_js_history.asp
    ECMAScript它可以理解为是JavaScript的一个标准
    最新版本已经到es6版本
    但是大部分浏览器还只停留在支持es5代码上!
    开发环境–线上环境,版本不一致
  • 一、快速入门

  • 1.1引入JavaScript

  • 1.内部标签

<script>

//....

  </script>

2.外部引入

1.2基本语法入门 弹窗alert() 打印console.log()

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
    <!--JavaScript严格区分大小写-->
        //1 定义变量 变量类型 变量名=变量值;
        var score=50;
        //2 条件控制 if     if else if  if else
        if(score>70&&score<60){
            alert("60~70");
        }else if (score>80&&score<70){
            alert("70~80");
        }else{
            alert("other")
        }
     // console.log(score)  50
    </script>
</head>
<body>

浏览器必备调试须知:

1.3数据类型

1.变量

Var

2.Number

JavaScript中不区分小数和整数

-99 //负数99

NaN   //not a number

Infinity  //表示无限大

3.字符串

‘ABC’ “ABC”

4.布尔值

True、false

5.逻辑运算

&& 与(两个为真则真)

|| 或(有真则真 )

! 非(有真则假)

6.比较运算符

= 赋值

==等于(类型不一样,值一样,也会判断为true)

===绝对等于(类型一样,值一样,也会判断为true)

这是一个JS的缺陷,坚持不要使用==比较

须知:

NaN==NaN,这个与所有的数值都不相等,包括自己

只能通过isNaN(NaN)来判断这个数是否是NaN

浮点数问题:

console.log(1/3===1-2/3)

尽量避免使用浮点数进行运算,存在精度问题!

console.log(Math.abs(1/3-(1-2/3))<0.000001) ;

7.null和undefined

Null 空

Undefined 未定义

8.数值

为了保证代码的可读性,尽量使用第一种

Java的 数组中必须是类型一致,js中不用

var arr[1,2,'dd',null,true];

new array[1,2,'dd',null];

数组下标越界:undefined

  1. 对象

对象是大括号{  },数组是中括号[ ]

每个属性之间用逗号隔开,最后一个不需要添加

//person person=new person(1,3,3,4,5)

var person ={

    name:"zhanghuan",

    age:8,

    tags:['js','java','web','...']

}

取值:

1.4严格检查模式

设置ES6:

  • 二、数据类型

2.1字符串

1.正常字符串   

2.转义字符 \

\’  a’

\n 换行

\t 空格

\u4e2d  unicode编码

\x41    ascll字符

3、多行字符串编写 ~连接

let msg=

~hello

Word

你好呀~

console.log(msg)

4、模板字符串

let name="张欢";

let age=18;

let ms=~你好呀${name}~

5.字符串长度

str.length

6.字符串的可变性,不可变

  1. 7.大小写转换

//注意,这里是方法,不是属性

8.截取:.charAt( );

console.log(student.charAt(1))

9.获取位置:.indexOf(' '))

console.log(student.indexOf('t'))

10.截取下标几到几.substring(1,3))

console.log(student.substring(1,3))  tu===[1,3)

console.log(student.substring(0))   截取全部

2.2数组

Array可以包含任意的数据类型

var arr=[1,2,3,4,5,6]

1.长度

Arr.length

注意:加入给arr.lenrth赋值,数组大小就会发生变化~如果赋值过小,元素就会丢失。

2.indeOf 通过元素获得下标索引

arr.indexOf(3) 2

字符串的”1”和数字1是不同的。

3.slice()截取Array的一部分,返回一个新数组,类似于String中的substring,[

4.push(压入),pop (弹出)往尾部压入或者弹出

arry [0, 1, 2, 3, 4, 5, 6]

arry.push('a','b')        //arry  [0, 1, 2, 3, 4, 5, 6, 'a', 'b']

arry.pop() //'b'

arry.pop() //'a'

arry.pop() //6

arry.pop() //5

//arry [0, 1, 2, 3, 4]

5.unshift(压入),shift(弹出)头部

arry  [0, 1, 2, 3, 4]

arry.unshift('a')         //arry  ['a', 0, 1, 2, 3, 4]

arry.shift() // 'a'        //arry  [0, 1, 2, 3, 4]

6.排序sort()

var arr=[2,4,1]

arr.sort()  [1, 2, 4]

7.元素反转reverse()

arr.reverse() [4, 2, 1]

8.替换 concat()

arr.concat('a','b','c')  [4, 2, 1, 'a', 'b', 'c']

注意:concat()并没有修改数组,字数会返回一个新的数组

9.连接符,join(),fou循环拼接

打印凭借数组,使用特定的字符串连接

var car=["宝马","奔驰","法拉利","奥迪"]

for (let i = 0; i < car.length; i++) {

}

console.log(car.join("~"))

10.多维数组

var arr=[[0,1],[1,2],[2,3]]

arr[0][0] 0

arr[0] [0, 1]

数组:存储数据(如何存,如何取,方法自己实现!!)

2.3对象

   var person={

        name:"张三",

        age:3,

        email:"1755622972.com",

        score:10

}

person.name '张三';

person
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值