day 50 Java Script 学习
前端基础之JavaScript
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() | 移除空白 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一样) |
拼接字符串一般使用“+”
布尔类型
区别于Python,true和false都是小写。
- var a = true;
数组
类似于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() | 排序 |
obj.sort()是有毒的,是按照ascii 码来比较排序的
遍历数组中的元素:
- 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
流程语句的总结
- 条件判断和流程控制
- if判断
- if (条件) {
- 条件成立要做的事儿;
- } else {
- 条件不成立要做的事儿;
- }
- if (条件) {
- 条件成立要做的事儿;
- } else if (条件2) {
- 条件2成立要做的事儿;
- } else {
- 条件都不成立要做的事儿;
- }
- switch
- switch (v) {
- case 值1: 执行的代码;break;
- case 值2: 执行的代码;break;
- case 值3: 执行的代码;break;
- default: 上面条件都不成立执行的代码;
- }
- 注意:
- break;
- for循环
- for (var i=0;i<长度;i++) {
- 循环执行的代码;
- }
- for (var i in obj) {
- console.log(i);
- }
- while循环
- while (条件) {
- 循环执行的代码;
- }
day 50 Java Script 学习的更多相关文章
- Java Script 学习笔记 -- 基础知识
Java script 概述 java Script 的简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为 ...
- Java Script 学习笔记
JS编程习惯类: 1. 命名 著名的变量命名规则 只是因为变量名的语法正确,并不意味着就该使用它们.变量还应遵守以下某条著名的命名规则: Camel 标记法 首字母是小写的,接下来的字母都以大写字符开 ...
- java script 学习
用JavaScript输出文本 <p>我的第一个段落.</p> <script> document.write(Date()); </script> & ...
- Java Script 学习笔记 -- Ajax
AJAX 一 AJAX预备知识:json进阶 1.1 什么是JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON是用字符串来表示Javas ...
- Java Script 学习笔记 -- jQuery
一 jquery简介 1 jquery是什么 jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team. jQuery是继prototyp ...
- Java Script 学习日志 Div
2019年7月7日 学习网站: http://www.w3school.com.cn/js/js_examples.asp 1.输出 1. 1首先就是输出看 <script> docume ...
- Java Script 学习笔记(一)
示例如下: JavaScript-警告(alert 消息对话框) 我们在访问网站的时候,有时会突然弹出一个小窗口,上面写着一段提示信息文字.如果你不点击“确定”,就不能对网页做任何操作,这个小窗口就是 ...
- Java Script 学习笔记 (二) Casper JS
1. click() VS mouse.click() 在写自动化脚本要勾选一个复选框时,用casper.mouse.click() 无法选上这个checkbox, 需要用到casper.click( ...
- Java Script 学习笔记 (一) 基础
1. 设置变量 const: 赋常量,不可更改. let :设置可更改变量. ES6 中推荐使用let 而不是var. Let 和var的区别 : let 将变量的作用域限定在当前{}中, var 定 ...
随机推荐
- RabbitMQ Dead Lettering(死信)
死信,顾名思义,就是死掉的消息,死掉的消息是会被一般的队列丢弃的.如果这些消息很重要,而我们又需要,怎么办?凡事都有一个退路,现在就有一种方法可将这些死信消息存下来,那就是DLX(Dead Lette ...
- 图的关键路径,AOE,完整实现,C++描述
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- Excel 数据读入到DataSet
using System; using System.Collections.Generic; using System.Linq; using System.Data; using System.I ...
- DevExpress WPF v18.2新版亮点(六)
买 DevExpress Universal Subscription 免费赠 万元汉化资源包1套! 限量15套!先到先得,送完即止!立即抢购>> 行业领先的.NET界面控件2018年第 ...
- C++四种类型之间的转换
C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a. C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用. const_cas ...
- merge into用法小结
CREATE OR REPLACE PROCEDURE PRO_ZXC(O_NO OUT NUMBER,O_NOTE OUT NUMBER)ASBEGIN O_NO:=1; MERGE INTO QQ ...
- centos6.6安装hadoop-2.5.0(六、各种node功能)
一.hadoop的YARN框架 hadoop的YARN职能就是将资源调度和任务调度分开 ResourceManager全局管理所有应用程序计算资源的分配,每一个job的ApplicationMaste ...
- python day05--字典
一.字典结构 {key:valu} 注意: key必须是不可变(可哈希)的. value没有要求.可以保存任意类型的数据. dic = {123: 456, True: 999, "id&q ...
- hadoop day 2
1.hdfs shell相关命令 #hadoop fs -ls / 查看HDFS根目录 #hadoop fs -mkdir /test 在根目录创建一个目录test #hadoop fs -mkdir ...
- MySQL中的修改表操作
一.增加表的列 语法:alter table 表名 add( 增加列定义 ); 实例: #增加列 alter table text add( text_num ) ...