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知识库 -> JavaScript -> 正文阅读

[JavaScript知识库]JavaScript

JavaScript弱类型变量语言,脚本语言

一、JavaScript 应用方式

? ? ? ? 1、直接使用:javascript:alert 前缀执行javascript代码的URL

? ? ? ? 例子:

<a href="javascript:alert('运行javascript')">sgasd</a>

    

????????效果图:

? ? ? ? 2、<script>语句</script>包含代码来运行;

代码:

<script>
        alert('直接运行的javascript');
</script>

效果图 :

? ? ? ? ?3、导入JavaScript 将js和HTML分离便于管理维护开发? <script src="***.js"></script>

代码:index..js

alert('直接运行的javascript');

二、JavaScript变量

? ? ? ? 1、定义变量方式

? ? ? ? ? ? ? ? 隐式定义:直接给变量赋值,不定义类型,自行判断定义

? ? ? ? ? ? ? ? 显式定义:使用var定义变量。

<script>
????//隐式定义变量
????a?=?"1223";

????//显式定义变量
????var?a;
</script>

JavaScript也可同时定义多个变量,例如:

var a, b , c;

(注意JavaScript定义变量时,区分大小写ABC 和Abc不是同一个)

????????2、自动类型转换,与其他编程语言不同的是JavaScript可以自动转换类型。

例如:(注意 在JavaScript中""和''没有区别,但是双引号中不能再有双引号)

var a = "3.145"

var b = a - 2;
var c = a + 2;
alert(b + "\n" + c);

结果

由于减法a由字符类型变为浮点型,进行运算 所以得b结果1.145。? +号具有连接符的作用直接将两部分当做字符串进行连接,故得3.1452。

3、强制性类型转换

? ? ?toString():将布尔值,数值转换成字符串。

? ? ? parseInt():将字符串、不热值转换成整数。

? ? ? ? parseFloat():将字符串、布尔值等转换成浮点数。

例:

var a = "3.145"

var b = a - 2;
var c = parseFloat(a) + 2;
alert(b + "\n" + c);

结果与上次不同 ,将字符串类型强转为浮点型进行运算 ,得到上图结果。

通过通过parseInt()或parseFloat()强转后的结果只能是数或者NaN,在下列代码统一举出

注意:当字符串不是数字开头时,转换成NaN;如果是数字开头,但包含非数字字符时,从非数字开始截掉

例:

alert(parseInt("qcby6"));

alert(parseInt("999qcby6"));

结果

4、变量作用域

全局变量:不在所有函数里定义的变量和在函数里不使用var(隐式定义)定义的变量,就是全局变量

局部变量:在函数里定义的、且使用var(显式定义)定义的变量,是局部变量

(在函数内部加,Var为局部变量 ,不加为局部变量)

var? test? = ?"全局变量"; //全局变量
function? myFun()? {????
    age? = ?20; //全局变量
    ????
    var? male? = ?"局部变量"; //局部变量
}
myFun();
console.log(test? + ?age);
console.log(male);

结果

5、变量提升机制:声明会自动上提(let除外), 但是赋值在哪行就是哪行不会改变。

(在JavaScript中没有重载机制,只会覆盖原函数,注意与java区分)

6、let

1let定义的变量有块作用域:

0

?let定义的变量不会强加给window对象:https://note.youdao.com/yws/public/resource/abf6fba469291e0be02b2b68b9015f85/xmlnote/BFC6487F17B648F6AEF93E728A0A3CBF/3776

?let定义的变量不会提前转载(提升):

https://note.youdao.com/yws/public/resource/abf6fba469291e0be02b2b68b9015f85/xmlnote/8FAAB18538EC4D20BA1DDF0C4F1EA98B/3781

?

7、const常量

使用const定义常量,

语法:要求必须在定义时初始化值,并且之后不可以修改常量的值,

约定俗称的规范:常量一般都是大写命名,如果是多个单词,中间使用_连接https://note.youdao.com/yws/public/resource/abf6fba469291e0be02b2b68b9015f85/xmlnote/714349DF661D4BBE8AEA7D4D2E365849/3793

?三、JavaScript基本数据类型

? ? ? ? 1、基本数据类型

数值类型、布尔类型、字符串类型、undefined类型、null类型

?????????2、数值类型

????????????????字面量创建数值类型

????????????????var a = 10

????????????????面向对象创建数据类型

????????????????var a = new Number("10");

????????????????科学计数法使用51.2E2来表示,其中E不区分大小写,举例:5.12e3、4E-4

(注意 小数点前面的0可以省略如 0.2可写为.2,数字尽量不要以0开头,因为八进制08开头,16进制以0x开头)

代码

var a, b, c;
a = 5E2;
b = 1.23E-3;
c = 3.12e1;
d = 45.0;
e = .34e4;
f = .24 - 2;
console.log(a);
console.log(b);
console.log(c);
console.log(d);
console.log(e);
console.log(f);

结果

两个特别的数值正无穷大和负无穷大 ,例:

var a, b, c;
a = 5E24654546456;
console.log(a);
console.log(-a);

?结果

????????3、字符串类型

????????????????String():类似于面向对象语言中的构造器,使用该方法可以构建一个字符串。

????????????????charAt():获取字符串特定索引处的字符。

????????????????charCodeAt():返回字符串中特定索引处的字符所对应的Unicode值。

????????????????length:属性,直接返回字符串长度。JavaScript中的中文字符算一个字符。

????????????????toUpperCase():将字符串的所有字母转换成大写字母。

????????????????toLowerCase():将字符串的所有字母转换成小写字母。

????????????????fromCharCode():静态方法,直接通过String类调用该方法,将一系列Unicode值转换成字符串。

????????????????indexOf():返回字符串中特定字符串第一次出现的位置。

????????????????lastlndexOf():返回字符串中特定字符串最后一次出现的位置。

????????????????substring():返回字符串的某个子串。

????????????????slice():返回字符串的某个子串,功能比substring更强大,支持负数参数。match():使用正则表达式搜索目标子字符串。

????????????????search():使用正则表达式搜索目标子字符串。

????????????????concat():用于将多个字符串拼加成一个字符串。

????????????????split():将某个字符串分隔成多个字符串,可以指定分隔符。

????????????????replace():将字符串中某个子串以特定字符串替代。

var? text? = ?"agoulkjsdhlsjd";????
var? a? = ?text.charAt(1);? //获得第二个字符????
var? b? = ?text.charCodeAt(1);? //获得第二个字符对应的unicode值????
var? c? = ?text.length;? //获得整个字符串的长度???
var? d? = ?text.toUpperCase();? //转化成大写
var? e? = ?String.fromCharCode(98);? //获得unicode值为98的字符???
console.log(text);????
console.log(a, ?b, ?c, ?d, ?e);

结果

indexOf()和lastIndexOf()查找方法:

https://note.youdao.com/yws/public/resource/abf6fba469291e0be02b2b68b9015f85/xmlnote/055D2409AD1F4254A711AF49B59C7055/3894

?

var?text?=?"agoulkjsdhlsjd";
var?f?=?text.indexOf("l");?//寻找l子串第一次出现的位置,如果没有就返回-1,如果就就返回位置?4
var?f?=?text.indexOf("l",?6);?//跳过6个字符后,寻找l子串第一次出现的位置,如果没有就返回-1,如果就就返回位置?10
var?g?=?text.lastIndexOf("l");?//寻找l子串第一次出现的位置,如果没有就返回-1,如果就就返回位置
console.log(f,?g)?//

结果

?

match()和search()查找方法https://note.youdao.com/yws/public/resource/abf6fba469291e0be02b2b68b9015f85/xmlnote/193B7AFE1B6441F5BEC85F504FA7D0D3/3904

?var?text?=?"ag3ou7l3kjs4d3h1ls5jd";
????????var?a?=?text.match(/\d/g);?//寻找所有的数字,最终组成数组,其中g表示全局匹配
????????var?b?=?text.search(/\d/);?//寻找第一次数字的位置
????????console.log(b);
????????console.log(a);

?结果:

?

substring()和slice()截取方法:https://note.youdao.com/yws/public/resource/abf6fba469291e0be02b2b68b9015f85/xmlnote/751AB26C89F54D0C807CDAE512CF7DE8/3899

var?text?=?"ag3ou7lsdfds";
var?a?=?text.substring(3,?6);?//从原字符串中截取索引处3、4、5三个字符?即ou7
var?b?=?text.slice(3,?-1);?//从原字符串中截取索引是3的字符开始到倒数第一个字符之间的字符?即ou7lsdfd
console.log(a);
console.log(b);

结果

?

?其他方法

//concat
var?text?=?"ag3ou7lsdfds";
var?text2?=?"gs";
var?text4?=?"gs111";
var?text3?=?text.concat(text2,?text4);?//连接多个字符串,concat(...)
console.log(text3);

//split        
var?text?=?"a7g3ou7lsd7fds";
var?arr?=?text.split("7");?//以7来把字符串分隔成组数
console.log(arr);

//replace
var?text?=?"a7g3ou7lsd7fds";
var?arr?=?text.replace(/7/g,?"qcby");?//把所有的7换成qcby
console.log(arr);

结果

?

  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:23:02 
 
开发: 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/5 3:53:04-

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