javascript基础
2016-07-23 19:36
477 查看
javascript学习笔记
简介
javascript是什么?JavaScript是一种运行在浏览器中的解释型、面向对象、事件驱动式的编程语言。
javascript能干什么?
交互式操作;表单验证;网页特效;Web游戏;服务器脚本开发等。
javascript有何特点?
事件驱动、跨平台、动态、交互式的操作方式
javascript与ECMAScript的区别?
ECMAScript是一种语言标准,javascript是语言标准的实现。
javascript执行方式?
解释执行(由上而下)
javascript执行平台?
web浏览器,浏览器有两大对象模型:DOM和BOM,js的最主要功能就是操纵这两个模型里面的东西
引入
直接嵌套在在网页的任何地方,一般放在标签中或者标签后,建议使用后者,因为js解释执行从上到下,可避免js代码延迟加载导致网页的显示。将代码单独写在一个js文件中,通过在HTML中通过引入这个文件。
基本语法
注释
单行注释://多行注释:/* */
注意
JavaScript区分大小写;语句末尾不强制加分号;
变量声明
规则可以用 _、数字、字母、$、组成 , 且数字不能开头,声明变量用var变量名来声明。
变量名也不能是JavaScript的关键字,如if、while等。
如果不写var时,则为全局变量
赋值
变量名 = 变量值;
变量作用域
全局变量:省略var,或在函数外声明,全局变量可在整个脚本中被使用,可在不同的窗口中相互引用(指定窗口名)
局部变量:在函数内声明
数据类型
数值:整数、浮点数,整数:由正负号、数字构成,八进制、十进制、十六进制,浮点数:由正负号、数字和小数点构成,常规记数法、科学记数法;逻辑值:布尔值,true、false;
字符串值: 单引号、双引号;
空值: null
未定义值: undefined,根本不存在的对象、已定义但没有赋值的量;
数组:是一组按顺序排列的集合,集合的每个值称为元素。JavaScript的数组可以包括任意数据类型,写法:"[]" 包围 ,"," 号隔开每一个值,例如:[1, 2, 3.14, 'Hello', null, true];,还可以用Array()函数实现;
对象:是一组由键-值组成的无序集合,例如:var i = {'name':'leo','age':23};,可以通过i.name或者i.age获取一个对象的属性,即对象变量.属性名。后面会详细介绍。
运算符
算术运算符:+ - * / %(取余) ++(递增) --(递减)赋值运算符:= += -= *= /= %=
比较运算符:== != ===(值及类型) !==(值及类型) < <= > >=
逻辑运算符:&& || !
拼接运算符:+
特殊运算符:1、new运算符:创建对象(实例)
格式:对象名称=new 对象类型(参数)
2、this运算符:表示当前对象
格式:this[.属性]
3、条件运算符:三元运算符
格式:<条件表达式> ? 第一个值:第二个值
语句
条件语句有if...else和switch语句两种
//if语句
if(表达式){ 语句 }else if(表达式){ 语句 }else{ 语句 }
//switch语句
switch (<表达式>) { case <数值1>:<语句组1> break; case <数值2>:<语句组2> break; ... default <语句组> }
循环语句
有for、while、do...while、for...in语句
//for语句,常用于利用索引来遍历数组
for (<初始表达式>;<条件表达式>;<变动量表达式>){ <语句组> }
var arr=['a','b','c','d']; for(var i=0;i<arr.length;i++){ console.log(arr[i]); }
//while语句
while (<表达式>){ <语句组> }
//do...while语句
do { <语句组> } while (<表达式>)
//for...in语句
for ( 变量 in 对象 ){ <语句组> }
var i={ name:'leo', age:'27', city:'shanghai' }; for(var key in i){ console.log(key); }
函数
函数概念:独立于主程序的、具有特定功能的一段程序代码块。函数定义:
//一般函数
function 函数名([参数[,参数...]]){ <语句组> [return <表达式>;] }
//匿名函数
var fun=function(x){ if (x >= 0) { return x; } else { return -x; } };
函数调用:
函数名([参数[,参数...]]);
<script> function tell(name){ document.write("I am"+name); } tell("leo"); </script>
事件
定义:可以被 JavaScript 侦测到的行为,事件通常与函数配合使用,当事件发生时函数才会执行。常见事件:onclick、onfocus、onblur、onmousedown、onselect、onsubmit
调用:浏览器等待用户的交互操作,并在事件发生时,自动调用事件处理函数,完成事件处理过程。
对象详解
原则:在js中一切皆对象
Date对象:var date=new Date(); date; //格式:日期对象名称.方法([参数]) date.getFullYear();//2016 年份 date.getMonth(); // 月份,注意月份范围是0~11,5表示六月 date.getDate(); // 日期 date.getDay(); // 表示星期几 date.getHours(); // 小时, 24小时制 date.getMinutes(); // 分钟 date.getSeconds(); // 秒 date.getMilliseconds(); // 毫秒数 date.getTime(); // 以number形式表示的时间戳 /** *其他方法 Date.parse(日期字串) 返回对应日期基线的毫秒 setTime(时间值) 指定一日期对象的值 toGMTString() 以GMT格式表示日期对象 toUTCString() 以GMT格式表示日期对象 */
数组对象
/** * *新建数组 1. 数组对象名称=new Array([元素个数]) 2. 数组对象名称=new Array([[元素1][,元素2,...]]) 3. 数组对象名称=[元素1[,元素2,...]] */ var j = ['A', 'B', 'C', 1, 2, 3]; var arr = ['A', 'B', 'C']; var s=new Array('apple','orange','banan'); s.length;//数组的属性length s.indexOf('orange');//搜索一个指定的元素的位置 s.slice(0,1);//截取Array的部分元素,然后返回一个新的Array: s.push('A', 'B');//向Array的末尾添加若干元素 s.pop();//把Array的最后一个元素删除掉 s.unshift('hello'); //往Array的头部添加若干元素 s.shift();//把Array的第一个元素删掉 s.sort();//默认排序 s.reverse();//数组翻转 s.splice();//从指定的索引开始删除若干元素,然后再从该位置添加若干元素 arr.concat([1, 2, 3]);//当前的Array和另一个Array连接起来,并返回一个新的Array: j.join('=');//当前Array的每个元素都用指定的字符串连接起来,然后返回连接后的字符串
面向对象
三大特性:封装、继承、多态
注意:1. JavaScript不区分类和实例的概念,而是通过原型(prototype)来实现面向对象编程。2. JavaScript的原型链和Java的Class区别就在,它没有“Class”的概念,所有对象都是实例,所谓继承关系不过是把一个对象的原型指向另一个对象而已
其他
JSON
序列化:var xiaoming = { name: '小明', age: 14, gender: true, height: 1.65, grade: null, 'middle-school': '\"W3C\" Middle School', skills: ['JavaScript', 'Java', 'Python', 'Lisp'] }; JSON.stringify(xiaoming);
反序列化
JSON.parse('[1,2,3,true]');
相关文章推荐
- javascript继承详解(一):前世今生
- JS 用字符串生成动态变量名 或 字符串与已有变量对应
- debian pjsip 编译
- js桥
- 面向对于javascript编程
- 摘自:javascript的理解DOM事件流的三个阶段
- JavaScript 表单脚本
- javaScript实现简单的表单验证
- js 跨域详解
- javascript命名规范总结
- JavaScript struct类型与valueOf
- 12个非常实用的JavaScript小技巧
- 快速、高效解析Json数据之FastJson
- BZOJ1013 [JSOI2008]球形空间产生器sphere
- Javascript WebSocket使用实例介绍(简明入门教程)
- js常用正则表达式
- javascript实现 时钟实时显示及幻灯片自动播放
- JavaScript document.cookie使用
- js使用立即调用的函数表达式创建局部作用域问题
- javascript针对DOM的应用