day 50 Java Script 学习 Posted 2020-10-19 王大拿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day 50 Java Script 学习相关的知识,希望对你有一定的参考价值。
JavaScript的历史
1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言)
Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言.Sun和Netscape共同完成.后改名叫Javascript
微软随后模仿在其IE3.0的产品中搭载了一个JavaScript的克隆版叫Jscript.
为了统一三家,ECMA(欧洲计算机制造协会)定义了ECMA-262规范.国际标准化组织及国际电工委员会(ISO/IEC)也采纳 ECMAScript 作为标准(ISO/IEC-16262)。从此,Web 浏览器就开始努力(虽然有着不同的程度的成功和失败)将 ECMAScript 作为 JavaScript 实现的基础。EcmaScript是规范.
ECMAScript
尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:
核心(ECMAScript)
文档对象模型(DOM) Document object model (整合js,css,html )
浏览器对象模型(BOM) Broswer object model(整合js和浏览器)
Javascript 在开发中绝大多数情况是基于对象的.也是面向对象的.
简单地说,ECMAScript 描述了以下内容:
语法
类型
语句
关键字
保留字
运算符
对象 (封装 继承 多态) 基于对象的语言.使用对象.
JavaScript引入方式
Script标签内写代码
<script>
// 在这里写你的JS代码
</script>
引入额外的JS文件
<script src="myscript.js"></script>
JavaScript语言规范
注释(注释是代码之母)
// 这是单行注释
/*
这是 多行注释
*/
结束符
JavaScript中的语句要以分号 (; )为结束符。
JavaScript语言基础
变量声明
JavaScript的变量名可以使用_,数字,字母,$组成,不能以数字开头。
声明变量使用 var 变量名; 的格式来进行声明
var name = "Alex";
var age = 18;
注意:
变量名 是区分大小写的。
推荐使用驼峰式命名规则。
JavaScript数据类型
JavaScript拥有动态类型
var x; // 此时x是undefined
var x = 1; // 此时x是数字
var x = "Alex" // 此时x是字符串
数字类型
JavaScript不区分整型和浮点型,就只有一种数字类型。
var a = 12.34;
var b = 20;
var c = 123e5; // 12300000
var d = 123e-5; // 0.00123
常用方法:
parseInt("123") // 返回123 parse(解析)
parseInt("ABC") // 返回NaN,NaN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。
parseFloat("123.456") // 返回123.456
字符串
var a = "Hello"
var b = "world;
var c = a + b;
console.log(c); // 得到Helloworld
常用方法:
方法
说明
obj.length
返回长度
obj.trim()
移除空白
obj.trimLeft()
移除左边的空白
obj.trimRight()
移除右边的空白
obj.charAt(n)
返回第n个字符
obj.concat(value, ...)
拼接
obj.indexOf(substring, start)
子序列位置
obj.substring(from, to)
根据索引获取子序列
obj.slice(start, end)
切片
obj.toLowerCase()
小写
obj.toUpperCase()
大写
obj.split(delimiter, limit)
分割
拼接字符串一般使用“+”
布尔类型
区别于Python,true和false都是小写。
数组
类似于Python中的列表。
var a = [123, "ABC"];
console.log(a[ 1]); // 输出"ABC"
常用方法:
方法
说明
obj.length
数组的大小
obj.push(ele)
尾部追加元素
obj.pop()
获取尾部的元素
obj.unshift(ele)
头部插入元素
obj.shift()
头部移除元素
obj.slice()
切片
obj.reverse()
反转
obj.join(seq)
将数组元素连接成字符串
obj.concat(val, ...)
连接数组
obj.sort()
排序
遍历数组中的元素:
var a = [10, 20, 30, 40];
for (var i=0;i<a.length;i++)
{console.log(a[i]);}
// 这样可以打印 a 中的全部元素
对象
类似于(某方面类似)Python中的字典数据类型
var a = {"name": "Alex", "age": 18};
console.log(a.name);
console.log(a[ "age"]);
遍历对象中的内容:
var a = {"name": "Alex", "age": 18};
for (var i in a){
console.log(i, a[i]);
}
null和undefined
undefined表示的是当声明的变量未初始化时 ,该变量的默认值是undefined。还有就是函数无明确的返回值时 ,返回的也是undefined 。
null表示值不存在
undefined表示声明了变量,但是还没有赋值。null 声明了变量并且变量是空值。
类型查询
typeof "abc" // "string"
typeof null // "object"
typeof true // "boolean"
typeof 123 // "number"
typeof是一个一元运算符(就像++,--,!,- 等一元运算符),不是一个函数,也不是一个语句。
运算符
算数运算符
比较运算符
注意:
//这个比较的是值 1 == “1” // true //这个比较的是值 和 类型
1 === "1" // false
逻辑运算符
赋值运算符
流程控制
if-else
#一定要注意 ; 号的用的位置 var a = 10;
if (a > 5){
console.log( "yes");
} else {
console.log( "no");
}
if-else if-else
var a = 10;
if (a > 5){
console.log( "a > 5");
} else if (a < 5) {
console.log( "a < 5");
} else {
console.log( "a = 5");
}
switch
var day=5;
switch (day){case 0:console.log(‘sunday‘);break ;
case 2:console.log(‘bbb‘);break ;
case 3:console.log(‘www‘);break ;
case 5:console.log(‘sun‘);break ;
default : console.log(‘接着睡吧‘);break ;}
#打印结果是sun
当摸个补位删除break 时;会有这样的效果
var day=3;
switch (day){case 0:console.log(‘sunday‘);break ;
case 2:console.log(‘bbb‘);break ;
case 3:console.log(‘www‘);
case 5:console.log(‘sun‘);
default : console.log(‘接着睡吧‘);}
#打印结果是
www
sun
接着睡吧
从day =3的位置开始打印返回的结果
for
for (var i=0;i<10;i++) {
console.log(i);
}
#注意括号里的写法 会打印出从 0 到9 的所有数字 类似于Python中的 for i in range(10): print(i)
while
var i = 0;
while (i < 10) {
console.log(i);
i ++;
}
三元运算
var a = 1;
var b = 2;
var c = a > b ? a : b