JavaScript学习(一)

学习了javascript的基础的一部,简单的总结一下,包括:

  • Javascript的历史
  • Javascript的入门
  • 数据类型
  • 流程控制

一、JavaScript历史

JavaScript是一种弱脚本语言,做为开发web页面的脚本语言而出名,也被用到了很多非浏览器环境中

vaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

javaScript的标准是ECMAScript 。

2015年6月17日,ECMA国际组织发布了ECMAScript 的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为ECMAScript 6 或者ES6。

开发人员一般编写代码使用的是ES6的环境,但是很多浏览器的只支持ECMAScript 5.1。

JavaScript可以说是最流行的脚本语言之一。所以后台开发人员必须精通JavaScript。

二、Javascript的入门

2.1简单的Javascript代码与两种引入方式

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
<!--script标签内次哦JavaScript代码--><!--养成习惯,分号结尾--><script>alert('helloworld');</script>
</head>
<body></body>
</html>

JavaScript代码有两种引入方式

第一种为上面代码所用的行内式

第二种为行外式

​ 即在外部js文件中写好js代码,然后引入。一般使用第二种方式。

2.2 简单的定义变量与流程控制

     <script>var num=1;if (num<2){alert(num);}</script>

2.3 单行注释和多行注释

<script>//单行注释/** 多行注释* 多行注释*/var num=1;if (num<2){alert(num);}</script>

2.4 输入输出语句

 <script>//在浏览器弹出弹窗alert('100');//在控制台打印console.log('200');//在浏览器弹出输入框,用户可输入信息prompt("请输入密码")</script>

2.5 严格检查模式

因为JavaScript太过随意,且很难报错。所以一般使用严格检查模式。避免一些问题。

 <script>//必须写在script标签里的第一行'use strict'</script>

使用严格检查模式必须先将IDEA调整到ES6

三、数据类型

3.1 定义变量的格式

变量类型 变量名 = 变量值 ;

<script> 'use strict'//定义局部变量let num=3;//定义全局变量,不建议使用var word=6;</script>

3.2 运算符

  • 逻辑运算符:

    &&-------二者为真则为真

    || -------有一为真即为真

    ! --------真即假,假即真

  • 比较运算符

    JavaScript不同于Java的是

    ==代表等于(类型不一样,值一样。仍旧等于)

    ===代表绝对等于(类型一样,值一样,才等于)

3.3 布尔类型

  • false

  • true

3.4 数字

JavaScript不区分浮点数和整数。统一都是number

999
999.9999
99e9
-99
NaN//not a number
infinity//无限大

特殊的:NaN不等于任何一个数。包括它自身。

只能通过 isNaN 这个方法来判断是否为NaN

注意:尽量避免使用浮点数进行计算。因为会有精度损失

3.5字符串

  • JavaScript中,字符串使用单引号和双引号包裹均可。

    ‘‘abc’’ ‘hello’

  • 多行字符串

    用esc键下的`符号。可以定义多行字符串。

  • 转义字符串

    '\n'--换行符
    '\t'--制表符
    '\''--转义字符
  • 模板字符串

    //模板字符串
    let test='haha';
    let testx=`${test},nihao`;
    alert(testx)
  • 字符串长度

    alert(testx.length);
  • 字符串的不可变性

  • 字符串的大小写转换

    test.toUpperCase();
    test.toLowerCase();
    
  • 字符串的指定字符位置

    test.indexOf('t');
    
  • 截取字符串

    test.substring(1)//从第一个字符串截取到最后一个字符串
    test.substring(1,3)//从第一个截到第三个.含头不含尾
    

3.6 数组

  • Array可以包含任意的数据类型,一个数组里面可以有多种数据类型
//数组
let arr=[1,'haha',1.3,2E3,'\n'];
alert(arr[1]);
  • 超出数组长度,会报未定义。
 let arr=[1,'haha',1.3,2E3,'\n'];alert(arr[10]);
  • 数组长度
arr.length

注意:JavaScript中,数组长度可以动态变化。给arr.length赋值。数组长度就会变化。

如果赋值过小,元素就会丢失。如果赋值过大。元素空位会补上undefined

  • indexOf,通过元素获得下标索引

  • slice,截取字符串。获得一个新的字符串。含头不含尾

     let arr=[1,'haha',1.3,2E3,'\n'];let arr2=arr.slice(0,2);alert(arr2);
  • push(),pop() 尾部

    //push 压入到尾部
    let arr=[1,'haha',1.3,2E3,'\n'];arr.push(3,5,6)alert(arr);
    //pop 从尾部弹出let arr=[1,'haha',1.3,2E3,'\n'];arr.push(3,5,6)arr.pop();
  • unshift(),shift()头部

    arr.shift()//从头部弹出一个元素
    arr.unshift()//压入到头部
    
  • sort()排序

  • reverse()元素反转

  • caocat()拼接

    concat并没有修改原来的数组,只是返回了一个新的数组

  • join连接符

3. 7 对象

JavaScript中对象是以键值对的形式表现的

 //对象的定义形式var student={name:"liuyang",age:10,sex:"男"    //属性之间以逗号隔开,最后一个属性不加逗号}
  • 对象赋值

    student.name="dadada";
    
  • 使用不存在的对象属性

    var student={name:"liuyang",age:10,sex:"男"
    }
    alert(student.email)
    //只会报未定义,不会报错
    
  • 动态的删减增添属性

    //动态的增添属性
    var student={name:"liuyang",age:10,sex:"男"
    }
    student.email="9613@qq.com";
    alert(student.email);//删减属性
    delete student.email;
  • 判断这个属性是否在这个对象中

    'age' in student
    true
    //继承的属性也在对象中
    'toString' in student
    true
    
  • 判断这个方式是否属于这个对象

    student.hasOwnProperty('toString')
    false
    student.hasOwnProperty('age')
    true
    

    JavaScript中所有键都是字符串,需要加上’’ ''包裹。所有的值都是任意类型

3.8 Map和Set

  • map

    var map=new Map([['黑',100],['白',200],['红',300]]);//创建mapvar number = map.get('黑');   //通过key查value值.map.set('粉',400);            //添加键值对map.delete('黑')           //删除键值对
    
  • set

    var set =new Set([1,2,2,2,3,4,5]); //创建setset.delete(2)                 //删除值set.add(6)                     //添加值set.has(6)                      //判断是否含有某个元素
    
  • 遍历

    //遍历set
    var set =new Set([1,2,2,2,3,4,5]);
    for(let x of set){console.log(x)
    }//遍历map
    var map=new Map([[1,1],[2,2],[3,3],[4,4]]);
    for (let x of map){console.log(x)
    }//遍历集合
    var number=[1,5,5,6,'hong'];
    for (let x of number){console.log(x)
    }
    

四、流程控制

1. if语句

var age = 3;
if (age>3){ alert(">3");
}else if(age<5) {  alert("<5");
}else { alert("不知道");
}

2. while循环

//while
while(age<100){age = age + 1;console.log(age)
}
//do while
do{age = age + 1;console.log(age)
}while(age<100)

3. for循环

for (let i = 0; i < 100 ; i++) {console.log(i)
}

4.for each循环

let arr=[1,3,4,5,6];
arr.forEach(function (value) {console.log(value)
})

JavaScript学习(一)相关推荐

  1. Javascript学习7 - 脚本化浏览器窗口

    原文:Javascript学习7 - 脚本化浏览器窗口 本节讨论了文档对象模型.客户端Javascript下Window中的各项属性,包括计时器.Location对象.Histroy对象.窗口.浏览器 ...

  2. Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  3. 《Javascript入门学习全集》 Javascript学习第二季(实战4)

    Javascript学习第二季(实战4)   上章的例子虽然实现了功能,也做了相应的判断,也符合标准了.但还有一个问题就是: Choose an image. 在html中只是为了图片切换 而做的,而 ...

  4. Java程序猿的JavaScript学习笔记(汇总文件夹)

    最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...

  5. JavaScript学习知识点归纳

    JavaScript学习包括几大方面: 1.基础语法 2.JavaScript核心对象 3.DOM操作 4.BOM操作 5.正则表达式 6.AJAX 7.面向对象编程 以下依次为各版块相关内容==&g ...

  6. JavaScript学习笔记(五)

    JavaScript学习笔记(五) ①Array类 本地对象 ②Date类 ①Global对象 对象的类型   内置对象 ②Math对象 宿主对象 今天继续学习JS中的对象,昨天内置对象Global对 ...

  7. JavaScript学习笔记(备忘录)

    JavaScript学习笔记(备忘录) ===运算符 判断数值和类型是否相等.如: console.log('s'==='s') //输出trueconsole.log('1'===1) //输出fa ...

  8. Java程序猿的JavaScript学习笔记(10—— jQuery-在“类”层面扩展)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  9. JavaScript学习笔记(十)——学习心得与经验小结

    JavaScript学习笔记(十)--学习心得与经验小结 目前我先列好提纲,利用每晚和周末的闲暇时间,将逐步写完 ^_^ 转载于:https://www.cnblogs.com/mixer/archi ...

  10. JavaScript 学习笔记(1)

    1.     何为 Jscript JScript 是一种解释型的.基于对象的脚本语言. 局限性: 1)        不能使用该语言来编写独立运行的应用程序 2)        没有对读写文件的内置 ...

最新文章

  1. Maven web项目创建
  2. SAP ABAP实用技巧介绍系列之 ABAP XSLT 定义变量
  3. org.springframework.amqp.AmqpConnectException java.net.ConnectException的解决办法
  4. Java面试题整理,java常用排序算法图解
  5. Python实现堆排序
  6. ASP入门基础教程-VBScript概述及基本元素
  7. 凸优化有关的数值线性代数知识一:矩阵结构与算法复杂性
  8. Matlab分类识别实战||基于神经网络的深水船水声音数据集的识别与分类(GoogLeNet+SqueezeNet+AlexNet)
  9. 主流七款web服务器软件点评,几款比较好的WEB服务器软件推荐
  10. 第二届中国移动“梧桐杯”大数据应用创新大赛复活赛
  11. 强化学习读书笔记(一)
  12. 微信php echo换行,微信小程序文字显示换行问题
  13. 4.请编写一个函数void fun(char *tt,int pp[]),统计在tt字符串中“a”到“z”26个字母各自出现的次数,并依次放在pp所指数组中。
  14. VLC2.2.4命令参数
  15. 与你分享如何做好企业汇算清缴
  16. git clone 项目时总是提示输入密码
  17. C语言娱乐项目————6、圣诞树
  18. 开源我的基于字节的数据补丁算法库HDiffPatch
  19. 江苏科技大学苏州理工学院《计算机程序设计基础实践VC++》实验报告
  20. 利用贝叶斯算法对垃圾邮件进行分类处理

热门文章

  1. 阿里云云计算acp认证考试是什么?阿里云认证体系
  2. 【综合案例】网络贷款违约预测
  3. C++之 通讯录的实现(contact)
  4. jor(1):简表(JOR)开源的报表工具调研
  5. Python Requests库进阶用法——timeouts, retries, hooks
  6. kettle [表输入]选择Oracle数据源时预览错误--需要指定一个数据库连接.、错误初始化步骤[表输入 2]、Caused by: java.sql.SQLException: ORA-0091
  7. 第8章 无线局域网设备安装与调试
  8. CelebA人脸数据集
  9. android kotlin 接口回调
  10. telegram android 源码分析 (一)自动设置代理