| |
|
开发:
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:。。。。,如
意思是运行这个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;是数字开头,从非数字开始裁掉
在老版本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项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 | -2025/3/29 2:59:52- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |