IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 0712 js有关 -> 正文阅读

[JavaScript知识库]0712 js有关

JavaScript和java基本没有关系。Java语言更为严谨,主要是类为单位的,需要先经过javac解码编译,变成class文件,在运行java才可以运行文件,是强类型语言,格式与html无关。JavaScript只要有浏览器,就能使用,主要使用的是函数,是脚本语言,不需要编译,是弱类型语言,嵌入在html中。

Jscript和JavaScript合并就成了ECMAscript,现在用的是ES5,还是基于对象的脚本语言,ES6就和Java有很多相似之处,是面向对象的脚本语言

使用JavaScript

1.加前缀javascript:。。。。,如

<a href="javascript:alert('1223')">jhdjs</a>

意思是运行这个JavaScript而不是跳转链接,需要点击这个链接才能弹窗(很少用)

2.script标签包含,如

是直接执行,可以在script标签上加src引外部js,如果引了外部js,该标签在html里包含的代码不再执行,直接执行外部的js代码

script标签的属性:

????????src:外部js的链接

????????defer:延迟加载,在html加载完再用,但是支持外部的,只能用在有src的,所以外部样式就可以加在body之上了,但是内部的不可以在其上面(除非用文档就绪函数)

$(document).ready(function(){

//代码

})

就是文档就绪函数,符合一般函数的格式:$(selector).action(){},ready就是action,等待文档就绪,简写为$(function(){}),(用$要把jQuery引进来)

noscript标签:用来向不支持JavaScript的浏览器提示信息

不支持JavaScript就会执行noscript这段

定义变量:隐式:直接给变量赋值,eg:a=“1231231” ;显式:用var定义,eg:var a;/var a,b,c; let:可以定义块变量。

var a="wqeqqw"是显式定义变量并赋值,var a;相当于var a=undefined;

自动类型转换

+左右都是数字是算数,如果有一个是字符串,就会变成字符串拼接,数字那方变成字符串

JavaScript不区分小数和整数,var a=true都行

强转类型,如下图,d=5,因为转化为了整数,非数字可能被转化为NaN。如字符串不是数字开头,是NaN;是数字开头,从非数字开始裁掉

<script type="text/javascript"></script>

在老版本html中,script的type属性里,text表明放在之间的是文本类型,JavaScript告诉浏览器里面的text是个JavaScript脚本,而h5以后,省略也不会出错,因为默认脚本语言就是js

变量作用域

和Java不一样,只在JavaScript中适用

函数中隐式定义的是全局变量

关于重名时什么时候是全局,什么时候是局部,如下

实例1:

此时male已经没有了

实例2:

结果:

不报错的原因是,实质上var scope被提到了函数的第一行,而赋值还在原来的位置,如下(变量提升机制)

与上等价,如果没有可提升的,如下代码,则输出10

就算这句话永远不执行,也会变量提升

typeof是看类型的运算符,如

JavaScript中块范围的应用👇

而用let定义的变量只能在块范围内使用

在script里面定义的全局变量在html的 事件处理 中也能使用,但是在html中不能用

在JavaScript中,就算不给函数传参,也会执行函数,不给参数为undefined,所以没有函数重载,只有函数覆盖

用var定义的变量会自动添加全局window对象的属性,如var a;就可以说window.a,但是let定义的不会,如let b; window.b就会undefined,也不会有函数中的变量提升

如果是var,见上

const常量

必须在定义时初始化,不可再修改常量的值

数字类型:整数、小数统称为Number,但是十进制的不要以0开头,因为八进制以0开头,十六进制用0x,如果想写014可以写成字符串

a是5乘10的二次方,b就相当于var b=20

正无穷大为Infinity负无穷大为-Infinity,两者之间进行算数运算会变成NaN,他们和其他数字进行运算还是Infinity或-Infinity

两个正无穷大总是相等的

其实这么大就可以表示无穷了

a是Infinity,b是Number类里的NaN,0/0是NaN,NaN不与任何值相等,isNaN(a)函数可以判断一个变量是不是NaN

有一个类可以快速得到特殊数值

1byte类型整数能存放的范围:-128-127,一共256个(因为有0),第一个数表示符号,不变

unicode 2的16次方种可能,基本上表示世界上所有的字;最短的是ASCII码,是八位的

有限的数无法表示无限的数,所以要做出裁剪

输出false,所以建议使用差值比较法。

用他们差值的绝对值和一个极小的数比较,小于极小的数就可以认为是相等的。

字符串

用单引号或双引号引起来

JavaScript中的字符串可以用单引号引起来,但是Java中不行,比较字符串是否相等,在JavaScript中用==就行,而Java中需要用equals()方法

JavaScript如 a==b

字符串中第一个字符可以用索引 a[0],或a.charAt(0),也是以位置索引

var a=String("sfasf")//构造一个字符串

获取字符串中一个字符的Unicode值,用charCodeAt,如a.charCodeAt(1),a是字符串

toUpperCase()将字符串转化为大写,调用方法同上,且都是动态方法,都需要一个对象来调用

String.fromcharCode()是静态方法,不需要对象,直接写字符串就行,将Unicode值转化为字符串,如String.fromcharCode(123),输出是{,因为Unicode值是123对应的是{

indexOf()搜索,找到对象中第一次出现括号里字符串的地方,如

输出3

lastIndexOf是找到最后一次出现的位置,方法同上

substring是字符串裁剪,如a.substring(2,6),以a字符串中索引值为2的字符开始,到6的结束,要头不要尾,如果第二个不写,就是到了最后一个,不可以有负数

slice和substring差不多,但可以接受负数,负数就是从右边开始索引

就是s到d

就是g

match()和search()也是搜索,和indexOf差不多,但是,支持正则表达式作子串,而且match返回的是所有匹配的字符串的数组,search返回的是匹配的索引值,indexOf只有第一个

俩斜杠就是正则,俩斜杠之间的就是要找的东西,可以不写那么具体,如可以写\d,找所有数字。match的斜杠后要加g(代表全局匹配)

concat()在后面加其他字符串

输出是text+text2+text4

split是拆字符串,

是以7来拆字符串,拆成数组

replace替换

把所有7换成qcby,可见也支持正则

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:22:27  更:2021-07-13 17:24:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 19:20:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码