JS学习笔记

js的组成:

1、ECMAScript

2、BOM  整个浏览器

3、DOM document文档  从<html>开始到<html>结束

js中的数据类型分为两大类

1、基本数据类型

1》数字 number    100    3.14

2》字符串 string 所有带双引号或者单引号

3》布尔值 boolean true false

4》特殊数据类型 null undefined

2、复合数据类型

变量的声明,通过关键字var来声明变量

var age = 18;

js中的运算符的分类

1、算数运算符 ==》 +  -  *  /  %  ++  --

2、关系运算符

注:关系运算符中操作数为非数字的时候要遵从以下规律

1) 如果两个操作数都是数值,则数值比较

2) 如果两个操作数都是字符串,则比较两个字符串对应的字符ASCII编码值(二进制>十进制)

3)

== 等于 alert(20 == "20")  //输出为true

!= 不等于

>

<

<=

>=

=== 全等于  alert(20 === "20")  //输出为false

!== 全不等于

3、逻辑运算符

&& 与

注:只有当两个表达式的结果都为真的时候,与运算结果才为true

<短路操作> 当第一个表达式为false,第二个就不去执行

alert(5 < 3 && alert(a));

|| 或

注:只有当两个表达式的结果都为假的时候,或运算的结果才为假

<短路操作> 当表达式1为true的时候,表达式2就不去执行了,判断整个表达式为true

alert(5 > 3 && alert(a));

!  非

4、赋值运算符 += *= /= %=

5、自增、自减运算符

强制数据类型的转换

parseInt() 取整  兼容Number的功能

var tem = parseInt("20a");    ===》输出结果为20

var tem = parseInt("3.14"); ===》输出结果为3

parseFloat()  取浮点数

Infinity ==》无穷大

-Infinity ==》无穷小

一元运算符

注:只能操作一个值的运算符,叫做一元运算符

a++  先取值再+1

++a  先+1再取值

a-- 先取值再-1

--a 先-1再取值

进制转换

1、十进制转二进制

方法:除二取余,倒序排列

52  ==》 110100

2、二进制转十进制

110100  ==》 52

1*2^2 + 1*2^4 + 1*2^5 = 52

3、十进制转八进制/十六进制

方法:先将十进制数转成二进制,再将二进制转成对应的八进制或者十六进制

二进制转八进制

方法:从右向左,每三位一组,不足三位的用0补齐,将每一组数转成十进制

110 100 ==》64

4*8^0 + 6*8^1 = 52;

二进制转十六进制

方法:从右向左,每四位一组,不足四位的使用0补齐,将每一组数转成十进制。

0011 0100 ===》 34

4*16^0 + 3*16^1 = 52;

数组:

1、数组的《栈》方法:  栈方法的特点是 先进后出

push() 在数组的末尾添加

格式: arr.push("我是添加的元素")

pop()  在数组的末尾去除  里面不能添加参数

格式: arr.pop()

2、数组的《队列方法》  队列方法的特点是  先进先出

push() 也是添加到数组的末尾

shift()  在数组的头部去除    里面也没有参数

unshift()  在数组的头部插入元素

格式: unshift(参数1,参数2,...)

3、数组的其它常用方法

concat()

格式:数组1.concat(数组2)

功能:数组的合并

格式:

var arr1 = ["张三","李四","王五","蜘蛛侠"];

        var arr2 = ["我222","我是333"]

        var ttt = arr1.concat(arr2);

        alert(ttt);

    slice()

    格式:数组.slice(start,end);

    功能:基于当前数组获取指定区域元素并创建一个新数组,源数组不改变。

    参数:start开始获取区域的下标,end结束获取区域的下标-1

    返回值:指定区域元素生成的新数组。

示例:

var arr = ["张三0","李四1","王五2","蜘蛛侠3","KT猫"]

        var jqz = arr.slice(1,3)

        document.write(arr);

        document.write(jqz);

    splice()

    格式:数组.splice(start,length,元素...)

    功能:可以完成删除、插入、替换操作

    参数: 参数1:截取开始下标

    参数2:截取的长度

    参数3:在截取的开始下标位置,我们要插入的元素,插入元素的个数是随意的

    返回值:截取掉的元素,组成的数组

    注:会对元素进行修改

    删除功能示例代码:

    var arr  = ["张三0","李四1","王五2","蜘蛛侠3","KT猫"];

        var sc = arr.splice(1,3);

        document.write(arr);

        document.write(sc);

插入功能示例代码:

    var arr  = ["张三0","李四1","王五2","蜘蛛侠3","KT猫"];

        var sc = arr.splice(1,0,"插入");

        document.write(arr+"</br>");

        document.write(sc);

    替换功能示例代码:

    var arr  = ["张三0","李四1","王五2","蜘蛛侠3","KT猫"];

        var sc = arr.splice(1,1,"插入");

        document.write(arr+"</br>");

        document.write(sc);

join()

格式: 数组.join(拼接符)

功能: 使用拼接符将数组中的元素拼接成字符串

参数: 拼接符

返回值: 拼接好的字符串

示例代码:

var arr = [10,20,30];

        var ceshi = arr.join("+");

        document.write(ceshi)

    reverse()

    格式:数组.reverse();

    功能:排序(逆向排序)

    示例代码:

    var arr = [10,20,5,45,3];

        arr.reverse();

        document.write(arr);

    sort()

    格式: 数组.sort()

    功能: 将数组中的元素升序排序(从小到大)。

    注意: sort默认是按照字符串进行排序。

冒泡排序算法===》需要更加深入的学习

选择排序算法===》需要更加深入的学习

字符串: ====》字符串有函数  字符串有方法

字符串的方法:

charAt()

格式:字符串.charAt(下标)

功能:字符串下标的访问

返回值:对应下标的字符

注:我们可以直接通过字符下标去访问该字符

示例代码:

var str = "你好"

alert(str.charAt(0))  ===》不常用

alert(str[0])    ===》常用

charCodeAt()

格式: 字符串.charCodeAt(下标)

功能: 字符串下标的ASCII码值

返回值: 返回字符串中对应下标字符的ASCII码值

String.fromCharCode()

格式: String.fromCharCode(ASCII码值)

功能: 和charCodeAt()相反, 在参数填写ASCII码值,输出为对应字符

参数: ASCII码值

返回值: ASCII码值对应字符组成的字符串

concat()

格式: 字符串1.concat(字符串2)

功能: 字符串拼接

返回值: 拼接成的字符串

注: 一般情况下使用较少,一般情况下用拼接符"+"

indexOf()

格式: 字符串.indexOf(子串,开始查找的位置);

功能: 查找字符串第一次出现的位置

返回值: 如果在字符串中查找到了子串第一次出现的位置,返回子串出现的位置,否则没有查找到返回-1。

示例代码:

var str = "abcde998536";

        var chazhao = str.indexOf("abc");

        document.write(chazhao)

lastIndexOf()

格式: 字符串.lastIndexOf(查找的字符串)

功能: 查找字符串最后一次出现的位置

返回值: 子串在字符串中最后一次出现的位置,如果没有,返回-1

search()  ===》参数可以是正则 /abc/ig

格式:

功能:

返回值:

注: 正则表达式可以添加修饰符,i代表忽略大小写,g代表全局匹配

示例:

var str = "Abcabcabc";

alert(str.search(/abc/i));

replace()

格式: 字符串.replace(匹配的字符串/正则表达式,替换成新的字符串)

功能: 字符串的替换

返回值: 替换完成以后生成的新字符串。

示例:

var str = "how are you";

        var ttt = str.replace("are","尤畅")

        document.write(ttt);

substring()

格式: 字符串.substring(start,end)

功能: 字符串提取,在指定范围内,提取字符串,生成新的字符串

返回值: 提取到的新字符串

注: 不包含结束位置的

示例代码:

var str = "helloworld";

alert(str.substring(2,2))

split

格式: 字符串.split(分割符,生成数组的长度);

功能: 字符串分割成字符

返回值: 通过分割符,分割成的装有子串的数组。

示例代码:

var str =  "this is a box";

        var arr = str.split(" ");

        document.write(arr);

toLowerCase(): 全小写方法

toUpperCase(): 全大写方法

示例代码:

var str "HELLO world";

alert(str.toLowerCase())

alert(str.toUpperCase())

ECMA5严格模式

"use strict" ===》加上这么一句话  就是严格模式

indexOf()

格式: 数组.indexOf(元素,index)

注: 使用方法和字符串的方式一致。

forEach()

格式: 数组.forEach(function(item,index,array))

item  当前遍历到的元素

index 当前遍历到的下标

array 当前数组

map()

格式: 数组.map(function(item,index,array))

示例代码:

var arr = [20,30,40,50]

var newArr = arr.map(function(item,index.array){

return item + 2;

})

reduce()  ===》归并

filter()  ===》过滤

some()    ===》某些

判断retun后面的条件是否成立,如果成立返回true,否则返回false

every()  ===》跟some一样,但是要求每一项都符合,才返回true,有一项不符合就返回false

Math对象

Math对象用于执行数学任务

Math对象常用的函数

Math.round()  ===》四舍五入

alert(Math.round(3.5));

Math.random()  ===》生成随机数0~1

Math.max()  ===》返回较大数

Math.min()  ===》返回较小数

示例代码:

alert(Math.max(10,20))

alert(Math.min(10,20))

Math.abs()  ===》返回绝对值

Math.ceil()  ===》向上取整

Math.floor() ===》向下取整

Math.pow(x,y) ===》求x的y次方  x是底数  y是指数

Math.qurt(4)  ===》求平方的

Math对象的勾股函数

参数: 勾股函数的参数都是弧度

Math.PI = 180弧度

1弧度 = Math.PI/180;

Math.sin()  求正弦

Math.cos()  求余弦

Math.tan()  求正切

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 3.6 语句 3.6.1 if语句 语法:if(condition) statement1 else statem...
    丨ouo丨阅读 366评论 0 1
  • 1.js对事件的响应 点击 2.改变html元素内容 function test(){alert('你好');do...
    wangzaiplus阅读 784评论 2 0
  • 第五章******************************************************...
    fastwe阅读 790评论 0 0
  • 整理了下之前JS的学习笔记,基础部分的知识。1.className设置标签的css类的时候不能直接使用class,...
    田心今心九日阅读 284评论 0 0
  • 简述JavaScript起源起源于美国的Netscape公司,原名为LiveScript,后改为JavaScrip...
    3ab670b99521阅读 3,160评论 0 0

友情链接更多精彩内容