day 50 Java Script 学习
时间:
2017-12-26 17:57:43
阅读:
119
评论:
收藏:
0
[点我收藏+]
标签:规范 接收 标签 length 区别 java 连接 ons 格式
JavaScript概述
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