【网络空间安全】3.1JavaScript学习-JS基础(1)


更多完整内容参考https://www.w3school.com.cn/js/js_shiyong.asp

一、概述

JavaScript是目前web开发中不可缺少的脚本语言,js不需要编译即可运行,运行在客户端,需要通过浏览器来解析执行JavaScript代码。

诞生于1995年,当时的主要目的是验证表单的数据是否合法。
JavaScript本来应该叫Livescript,但是在发布前夕,想搭上当时超热的java顺风车,临时把名字改为了JavaScript。(也就是说js跟java没有关系,当时只是想借助java的名气)。

javaScript 被用来改进设计、验证表单、检测浏览器、创建cookies,等等。JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比如: Internet Explorer、 Maxthon、Mozilla、Firefox、Netscape、Chrome和 Opera等。

常用 (1) 修改html及css代码 (2)验证表单

二、嵌入方法

2.1内嵌式

理论上js可以写在任何第一个地方 但是一般写在head标签里或者 body下

<script type="application/javascript">//type属性不是必须的
alert("内嵌式");
</script>
<script>alert("内嵌式");</script>

2.2外链式

首先新建一个文件类型为.js的文件,然后在该文件中写js语句,通过script标签对引入到html页面中。

<script src="js文件路径地址">这里不能写js语句</script>

2.3行内式

直接书写在标签身上,是一个简写的事件,所以又称之为事件属性。
onclick单击事件

<input type="button" value="这里是按钮" onclick="alert('你点击了按钮');">
<button onclick="alert('你点击了button按钮');">这里是button按钮</button>

三、注释

单行注释: // 注释语句
多行注释: /* 注释语句 */
注意:多行注释相互不能嵌套使用,只能在多行注释里面使用单行注释!

四、变量

变量声明使用var
var a=’moonsec’;javascript单双引号没区别

五、JavaScript 保留关键字

Javascript 的保留关键字不可以用作变量、标签或者函数名。有些保留关键字是作为 Javascript 以后扩展使用。

js保留字

六、输出

  • 使用 window.alert() 写入警告框
    使用弹出警告框显示数据
<script>
window.alert(5 + 6);
</script>
  • 使用 document.write() 写入 HTML 输出
    innerHTML相似在 HTML 文档完全加载后使用 document.write() 将删除所有已有的 HTML (仅用于测试)
<button onclick="document.write(5 + 6)">试一试</button>
  • 使用 innerHTML 写入 HTML 元素(常用)
    更改 HTML 元素内容的 innerHTML 属性是在 HTML 中显示数据的常用方法。
<p id="demo"></p>
<script>
 document.getElementById("demo").innerHTML = 5 + 6;
</script>
  • 使用 console.log() 写入浏览器控制台
    通过 F12 来激活浏览器控制台,在控制台中查看数据。
<script>
console.log(5 + 6);
</script>

七、数据类型

数值型:number(凡是数字都是数值型,不区分整数和小数)
字符串:string(凡是引号包裹起来的内容全部都是字符串)
布尔:boolean(true、false)
对象类型:object(特殊取值null)
未定义型:undefined
对象类型 数组 字典

八、判断类型

var a = "iamstring.";
var b = 222;
var c= [1,2,3];
var d = new Date();
var e = function(){alert(111);};
var f = function(){this.name="22";}; 
alert(typeof a)  ------------> string
alert(typeof b)  ------------> number
alert(typeof c)  ------------> object
alert(typeof d)  ------------> object
alert(typeof e)  ------------> function
alert(typeof f)  ------------> function

九、数据类型

9.1数字类型(Number)

只有一种数字类型,数字 可以是小数 ,也可以的整数。

9.1.1数据进制

0开头 默认使用8进制来表示这个数字
0x开头 默认使用16进制来表述这个数字
-开头 默认以负数
e开头默认用科学计数法来解析这个数字

9.1.2数字方法

  • toString() 字符串返回数值。
(123).toString();        // 从文本 123 返回 123
  • toExponential()字符串返回已被四舍五入,使用指针计数法的数字。
var x = 9.656;
x.toExponential(4);     // 返回 9.6560e+0
  • toFixed() 字符串返回指定小数位数的数字
var x = 9.656;
x.toFixed(2);           // 返回 9.66
  • toPrecision() 字符串返回指定位数的数字
var x = 9.656;
x.toPrecision();        // 返回 9.656
x.toPrecision(2);       // 返回 9.7
  • Number() 返回数字,由其参数转换而来。
x = true;
Number(x);        // 返回 1
x = false;     
Number(x);        // 返回 0
x = new Date();
Number(x);        // 返回 1404568027739
x = "10"
Number(x);        // 返回 10
x = "10 20"
Number(x);        // 返回 NaN
  • parseInt() 解析其参数并返回整数。
parseInt("10");         // 返回 10
parseInt("10.33");      // 返回 10
parseInt("10 20 30");   // 返回 10
parseInt("10 years");   // 返回 10
parseInt("years 10");   // 返回 NaN
  • parseFloat() 解析其参数并返回浮点数。
parseFloat("10");        // 返回 10
parseFloat("10.33");     // 返回 10.33
parseFloat("10 20 30");  // 返回 10
parseFloat("10 years");  // 返回 10
parseFloat("years 10");  // 返回 NaN
  • 特殊数值
    MAX_VALUE 最大数。
    MIN_VALUE 最小数。
    NEGATIVE_INFINITY 负的无穷大(溢出返回)。
    NaN 非数字值(“Not-a-Number”)。
    POSITIVE_INFINITY 无穷大(溢出返回)。

9.2字符串型(string)

字符串是存储字符的变量,用来表示文本的数据类型,程序中的字符串是包含单引号/双引号的,由单引号来界定我双引号中包含的字符串

9.1.1字符串方法

  • obj.length 返回字符串的长度
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;// sln = 26
  • obj.indexOf(substring,start) 第一次出现子序列位置
var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China");//pos = 17
var pos = str.indexOf("China", 18);//pos = 51

obj.lastIndexOf(substring,start) 最后一次出现子序列位置(从尾到头搜索)

var str = "The full name of China is the People's Republic of China.";
var pos = str.lastIndexOf("China");//pos = 51
var pos = str.lastIndexOf("China", 50);//pos = 17

如果未找到文本, indexOf() 和 lastIndexOf() 均返回 -1。

  • obj.search(substring) 第一次出现子序列位置。不可以设置搜索位置,但可以通过设置正侧表达式进行搜索
var str = "The full name of China is the People's Republic of China.";
var pos = str.search("China");pos = 17
  • slice(start, end) 截取字符串
var str = "Apple, Banana, Mango";
var res = str.slice(7,13); //res = Banana
var res = str.slice(-13,-7);//res = Banana
  • substring(start, end) 截取字符串,但无法接受负的索引。
  • substr(start,length) 截取字符串,不同之处在于第二个参数规定被提取部分的长度。
  • obj.replace(regexp, replacement) 替换,/g替换所有,/i不区分大小写
str = "Please visit Microsoft!";
var n = str.replace(/MICROSOFT/i, "W3School");
var n = str.replace(/Microsoft/g, "W3School");
  • obj.toLowerCase() 大写

  • obj.toUpperCase() 小写

  • obj.concat(value1, value2,value3....) 字符串拼接

  • obj.trim() 移除字符串两端的空白符

var str = "       Hello World!        ";
alert(str.trim());//"Hello World!"
  • obj.trimLeft() 移除字符串左端的空白符
  • obj.trimRight() 移除字符串右端的空白符
  • obj.charAt(n) 返回字符串中的第n个字符
  • split() 将字符串转换为数组
var txt = "a,b,c,d,e";   // 字符串
txt.split(",");          // 用逗号分隔
txt.split(" ");          // 用空格分隔
txt.split("|");          // 用竖线分隔

9.3布尔类型(boolean)

9.3.1介绍

一般是用在流程控制语句中,字符串和数字类型都是无穷多个,布尔数据类型只有两个:true 和 false
这两个个值一般用于说明某个事物是真或者假,js一般用布尔类型来比较所得到的结果

9.3.2比较方法

  • == 比较值相等
  • != 不等于
  • === 比较值和类型相等
  • !=== 值不等于不相等或类型不相等
  • >
  • <
  • >= 大于等于
  • <= 小于等于
  • ||
  • &&

9.4null(空)

null是一个特殊的值,它表示变量为空值,用来定义空的或者是不存在的引用。如果试图去引用一个没有定义的值,就会返回一个null。这里注意一点:null并不等于"" 或者0

9.5undefined(未定义)

这个值表示变量不含有值,没有定义的值,或者被定义了一个不存在的属性值

null和undefined区别:
null它表示一个变量被赋予一个空值,而undefined是表示变量还没有被赋值

9.6数组

9.6.1数组使用

1、数组内可以存放任意数据类型的数据(本质上它也是对象)
2、数组元素不赋值的情况下 值为undefined
3、如果数组打印的时候,元素不赋值""
4、访问数组范围之外的元素,不会出现越界的问题,undefined
5、定义数组大小,照样可以添加更多元素

9.6.2定义数组的方法

1、var arr=[]//定义一个空数组
2、var arr=[10,20,{“name”:“tomy”,“age”:19},0.1,“string”,true,[“aaa”,“bbb”]]//定义的同时赋值
3、var arr=new Array();//定义一个空数组
4、var arr = new Array(10,20,{“name”:“tomy”,“age”:19},0.1,“string”,true,[“aaa”,“bbb”])//定义的同时赋值
5、var arr=new Array(10)//定义一个长度为10的数组

9.6.3数组方法

  • obj.length 数组的大小

  • obj.push(ele) 尾部追加元素

  • obj.pop() 尾部获取一个元素

  • obj.unshift(ele) 头部插入元素

  • obj.shift() 头部移除元素

  • obj.splice(start, deleteCount, value, ...) 插入、删除或替换数组的元素
    obj.splice(n,0,val) 指定位置插入元素
    obj.splice(n,1,val) 指定位置替换元素
    obj.splice(n,1) 指定位置删除元素

  • obj.slice( ) 切片

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(3); //citrus = ["Apple", "Mango"]
  • obj.sort( ) 以字母顺序对数组进行排序

  • obj.reverse( ) 反转数组元素

  • obj.join(sep) 将数组元素连接起来以构建一个字符串

  • obj.concat(val,..) 连接数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值