JavaScript课件自学笔记整理

宣赞
• 阅读 219

1.书写位置
<body></body>标签中添加<script></script>标签,将内容写到<script></script>中去;或者<body></body>标签中添加<script src="文件名.js"></script>
2.输出语句
(1)alert() 弹出警告框
(2)console.log() 控制台输出
3.变量:存储计算结果/能表示值的抽象,即存储信息的“容器”
要求:变量不能使用引号,可以改变变量的值,变量命名要合法:由数字、字母、下划线、$组成,不以数字开头,不能是关键字和保留字,严格区分大小写
优秀的变量命名法:驼峰命名法:eg:mathTestScore;变量先声明后使用
4.变量声明提升
只提升定义,不提升值;先使用后定义变量
5.数据类型
(1)number:不分大小,不分整浮,不分正负
表达小数时小数中的0可以去掉,eg: .3, .7
科学计数法:(较大或者绝对值较大的数字),eg:3e8=3*10的8次方
不同进制的数字:二进制0b开头,八进制0开头,十六进制0x开头
(2)string :字符串型,一个字符串可以包含0/多个字符
length属性:字符串长度,“+”可以拼接多个字符串
“方法”:能够打点调用的函数
1>charAt() 得到指定位置字符,从0开始
2>substring() 提取子串;两个参数,[a,b),从a开始,到b结束,a可以大于b,会自动调整
3>substr() 提取子串;两个参数,[a,b),从a开始,长度为b,a可以为负数,表示倒数
4>slice() 提取子串;两个参数,[a,b),从a开始,到b结束,a,b不能交换位置,a可以为负数,表述倒数选择,a必须小于b
5>toUpperCase() 将字符串变大写
6>toLowerCase() 将字符串变小写
7>indexOf() 检索字符串:返回某个特定发字符串值在字符串中首次出现的位置,如果检索的字符串值没有出现,则返回-1
(3)boolean;布尔型,true/false
(4)undefined:仅仅var,而没有赋初值;又是值、又是类型,在变量声明提升时,变量的值也是undefined
(5)null:"空",可用于事件监听,销毁对象、销毁数组等
用typeof检测null结果是object
(6)NaN,不是一个数,是一个数字类型的值
任何涉及NaN的操作都会返回NaN;NaN与任何值都不相等,包括它本身
(7)数组,数组下标基于0,数组用typeof检测的结果是object
6.数据类型转换
(1)其他值——>数字
1>Number()函数

Number('123') //123;   Number(undefined) //NaN
Number('null') //0;    Number('') //0;

2>parseInt()"取整的作用,截取非数字字符";字符串——>整数
不是以数字开头,转化为NaN,不四舍五入
3>parseFloat():字符串——>浮点数
(2)其他值——>字符串
1>String():变为“长的相同”的字符串
2>toString():“打点调用”
(3)其他值——>布尔值
Boolean()函数;0,NaN,undefined 都是false
7.表达式与操作符
(1)关系运算符
结果是布尔值,true/false

,<,==,!=,<=,>=,===,!==
!!!注:null和undefined用==进行比较涉及隐式强制类型转换
ESS规范中规定:
如果x为null,y为undefined,结果为true
如果x为undefined,y为null,结果为true

Null和undefined用===进行比较时,结果为false,因为类型不同

typeof null 结果为object
typeof undefined 结果为undefined

isNaN()函数可以用来判断变量值是否为NaN,只要该变量传入Number()的执行结果为NaN,则isNaN()都会得到true
isNaN()返回的是false,表示数值;返回的是true,表示非数值
(2)逻辑表达式
优先级(高到低):!>&&>||
1> !:非,结果一定是布尔值
2> && 与:都真则真;短路计算:即a&&b,a为真时,b真则真,b假则假,结果为b,a为假,结果为a
3> || 或: 有真则真;短路计算:即a||b,a为真,b短路,结果为a;a为假,b真则真,b假则假,结果为b
(3)算术表达式
+,-,*,/,%;
隐式类型转换:参与数学运算的某操作数不是数字型,那么js会自动将此操作数转换为数字型(本质是内部调用了Number()函数)
(4)赋值表达式:
=,+=,-=,*=,/=,%=
(5)三目运算 条件?值1:值2;
(6)综合表达式
顺序:非运算->数学运算->关系运算->逻辑运算
8.幂,开根号以及取整

Math.pow(a,b)   a的b次方
Math.sqrt(a)    a开根号
Math.ceil()     向上取整
Math.floor()    向下取整

9.IEEE754二进制浮点数算术标准,会“丢失精度”,用toFixed()方法保留小数
10.对象
对象也是一个变量,但对象可以包含多个值(多个变量),每个值以 name:value 对呈现。JavaScript 对象是变量的容器。
对象的方法定义了一个函数,并作为对象的属性存储;对象方法通过添加 () 调用 (作为一个函数)。
11.函数语法
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
函数就是包裹在花括号中的代码块,前面使用了关键词 function:

function functionname(){
// 执行代码}

当调用该函数时,会执行函数内的代码。
12.作用域
局部作用域:变量在函数内声明,变量为局部变量,具有局部作用域
全局作用域:变量在函数外定义,即为全局变量。全局变量有全局作用域: 网页中所有脚本和函数均可使用。
13.常见的HTML事件
(1)onchange html元素改变
(2)onclick 用于点击html元素
(3)onmouseover 鼠标指针移动到指定元素上式发生
(4)onmoseout 用户从一个html元素上移开鼠标时发生
(5)onkeydown 用户按下按键
(6)onload 浏览器已完成页面加载
14.条件控制语句
(1)if语句(条件,判断)
(2)switch语句:一个变量来分情况讨论
(3)for循环
(4)break,continue
break 用来终止循环;congtinue用来跳出循环中的一个迭代,继续执行循环中的下一个迭代
(5)while和do while循环
while循环“不定范围”;do while至少循环一次
15.随机数函数
Math.random()产生0-1之间的小数,可以扩大倍数,*10等;
产生[a,b]之间的整数公式
parseInt(Math.random()*(b-a+1)+a
16.递归
函数的自我调用
17.open()方法
可以查找一个已经存在的或者新建的浏览器窗口,close()方法关闭窗口
18.DOM:文档类型对象,当页面被加载时,浏览器会创建页面
js能改变页面中的所有html元素,html属性,css样式,对所有事件做出反应
(1)DOM操作
通过id获取元素
(2)改变HTML样式
(3)显示与隐藏(display)属性
block显示,none 隐藏
(4)控制类名className 属性设置/返回元素的class属性;节点调用方法
19.js面向对象
JavaScript 中的所有事物都是对象:字符串、数值、数组、函数......

点赞
收藏
评论区
推荐文章
Stella981 Stella981
4年前
ASMSupport教程4.7 生成关系运算符
<p在java中,关系运算符是很常用的,分别是&gt;,,&lt;,&gt;,&lt;,!这六种,我们按照惯例看看我们需要生成的代码:</p<divid"scid:9D7513F9C04C4721824A2B34F0212519:dfec0f1ca2ec4ebabc9b91c161fbfa47"class"wlWri
Stella981 Stella981
4年前
SpringBoot 2.0 系列002
SpringBoot2.0系列002运行流程分析SpringBoot2.0系列001入门介绍以及相关概念(https://my.oschina.net/lt0314/blog/1810336)1\.SpringBoot运行的几种方式
Wesley13 Wesley13
4年前
4,MongoDB 之 $关键字 及 $修改器 $set $inc $push $pull $pop MongoDB
MongoDB中的关键字有很多,$lt$gt$lte$gte等等,这么多我们也不方便记,这里我们说说几个比较常见的一.查询中常见的等于大于小于大于等于小于等于等于:在MongoDB中什么字段等于什么值其实就是":"来搞定比如"name":"路飞学城"!(https://oscimg.oschin
Stella981 Stella981
4年前
PythonStudy——魔法函数 Magic Methods
魔法函数python中以双下划线开始和结束的函数(不可自己定义)为魔法函数调用类实例化的对象的方法时自动调用魔法函数(感觉不需要显示调用的函数都叫)在自己定义的类中,可以实现之前的内置函数,比如下面比较元素sorted时用It函数(lt(self,other):判断self对象是否小于other对象;)
Stella981 Stella981
4年前
Python 的 Magic Methods 指南
_摘要:_ 介绍本指南是数月博客的总结。主题是魔术方法。什么是魔术方法呢?它们是面向对象Python语言中的一切。它们是你可以自定义并添加“魔法”到类中的特殊方法。它们被双下划线环绕(比如\_\_init\_\_或\_\_lt\_\_)。介绍本指南是数月博客的总结。主题是魔术方法。什么是魔术方法呢?它们是面向对象Python语言中的一
Wesley13 Wesley13
4年前
MongoDB 范围查询
查询价格在2009000  $gt 大于   $lt  小于//查询价格2009000范围的数据db.prodgory.find({"price":{$gt:"200",$lt:"9000"}})查询给定范围数据  $in//给定范围查询db.product1.find({"categor
小万哥 小万哥
1年前
资源描述框架的用途及实际应用解析
RDF(资源描述框架)是一种用于机器理解网络资源的框架,使用XML编写。它通过URI标识资源,用属性描述资源,便于计算机应用程序处理信息。RDF在语义网上促进信息的确切含义和自动处理,使得网络信息可被整合。RDF语句由资源、属性和属性值组成。RDF文档包括&lt;rdf:RDF&gt;根元素和&lt;rdf:Description&gt;元素,后者用about属性标识资源。RDF还支持容器(如&lt;Bag&gt;、&lt;Seq&gt;和&lt;Alt&gt;)来描述集合。RDFS是RDF的扩展,提供描述类和属性的框架,而达布林核心是一组预定义属性,用于描述文档。
小万哥 小万哥
1年前
RSS 解析:全球内容分发的利器及使用技巧
RSS(ReallySimpleSyndication)是一种XML格式,用于网站内容的聚合和分发,让用户能快速浏览和跟踪更新。RSS文档结构包括&lt;channel&gt;和&lt;item&gt;元素,允许内容创作者分享标题、链接和描述。通过RSS,用户可以定制新闻源,过滤不相关信息,提高效率。RSS支持不同版本,如RSS0.91和RSS2.0,其中RSS2.0语法简单且广泛使用。RSS提高网站流量,适用于新闻、博客、日历等频繁更新的站点。RSS的历史始于1997年,至今仍无官方标准,但已成为内容共享的重要工具。
关于EPOLL触发的事件说明
POLLIN接收缓冲区可读,对端断开及tcp连接也属于可读。LT模式下:接收缓冲区可读就会触发;ET模式:状态改变了,比如接收缓冲区从空不空,才会触发一次读。