Js初接触
2015-11-03 21:13
579 查看
一.Javascript
1. 定义
基于事件和对象驱动,并具有安全性能带脚本语言。2. 出现背景
上世纪90年代,在美国有出现,当时有上网的环境,并且有网站服务在运行。1》对于表单提交数据,服务器验证返回浪费带宽。
2》用户体验不好。需要重复填写表单。
3》提交占用时间长。
针对以上问题,网景公司发明了javascript语言,最初用于在客户端对表单域项目进行验证。
3. 发明javascript语言的公司
网景公司在1995年发布了javascript语言,起初名字为livescript,在发布的前夕该名字为javascript,与sun公司的java语言打一个擦边球,这个决定也使得网景后期得到许多商业回报。微软公司也有自己的脚本语言,名字为Jscript(是javascript的拷贝版本)
二. 使用语法规范
①在html代码里边引入js语言<script type=”text/javascript”>具体js代码</script>
<script type=”text/javascript” src=”js文件”></script>
②代码大小敏感
true/false
TRUE/FALSE
③结束符号
每个简单语句使用”;”结束,与php类似
在javascript里边,该分号不是必须,但是推荐使用
④注释
// 单行注释
/*多行注释*/
⑤变量
其值可以发生改变的量就是变量。
变量名字命名规则:
php里边:字母、数字、下划线组成,开始有$符号标志,数字不能作为开始内容
js里边:字母、数字、下划线、$符号、汉字 等5个组成部分,数字不能作为名字的开始内容。
⑥数据类型
php:int float string boolean array object null resource
javascript(6种): number(int/float)
string boolean
null undefined
object
(数组是对象的一部分)
null类型:空对象类型。
var name = “”; //声明一个变量,后期要使用一个“字符串”进行赋值
var age = 0; //声明一个变量,后期要使用一个“数字”进行赋值
var obj = null; //声明一个变量,后期要使用一个“对象”进行赋值
undefined未定义类型
使用一个没有声明的变量
object对象类型:window document
三. 数值数据类型
1. 各种进制数表示
十进制: var age = 23;八进制: var score =
023; 2*8+3=19的十进制数
十六进制: var color =
0x25; 2*16+5=37的十进制数
10:A 11:B 12:C 13:D 14:E 15:F
2. 浮点数
2. 最大数、最小数
最大:Number.MAX_VALUE;最小:Number.MIN_VALUE;
4. 无穷大的数
四. 运算符
1. 算术运算符
2. 比较运算符
3. 逻辑运算符
3.1 && 逻辑与
两边结果都为真,结果为真3.2 || 逻辑或
两边结果只要有一个为真,结果为真3.3 !逻辑取非
真既假,假既真注意点:
1)逻辑运算符最终结果
在php里边,最终结果是“布尔”结果在javascript里边,&&和||是其中一个操作数,!是布尔结果
2)短路运算
只给执行一个操作数,不执行另一个操作数,不被执行的操作数就被短路。三. 流程控制
顺序结构分支选择结构:if elseif switch
循环结构:while() do{}while() for()
1. 条件表达式switch用法
switch(){case 表达式:
分支;
case 表达式:
分支;
}
2. 两个关键字break和continue
break:在循环、switch里边有使用跳出当前的本层循环
continue:在循环里边使用
跳出本次循环,进入下次循环
多个循环嵌套使用:
标志flag:
for1
red:
for2
for3
break/continue; //把for3给跳出 / 跳出本次的for3
//break 3;//php语法
break flag; //continue
flag; 把标志对应的for循环给做跳出操作
break red; //continue
red;
五. 函数
1. 什么是函数
有一定功能代码体的集合。2. 函数的封装
2.1 传统方式
function 函数名(){}该方式的函数有“预加载”过程,允许我们先调用函数、再声明函数
预加载:代码先把函数的声明放入内存。代码开起来是先调用、后声明,本质是先声明、后调用的。
函数名();
function 函数名(){}
函数先调用、后声明的条件是,全部代码在一个”<script>”标记里边。
2.2 变量赋值方式声明函数(匿名函数使用)
赋值方式不能预加载;var 函数名 = function(){}
该方式没有“预加载”,必须先声明、后调用。
3. 函数的参数
function 函数名(形参1,形参2,形参3=’abc’){}函数名(‘tom’,23,’beijing’);//传递实参信息
3.1 实参和形参的对应关系
没有默认值情况:在php里边:实参的个数小于形参是不允许的
在javascript里边:实参与形参没有严格的对应关系
总结:
1. 数据类型:Number String Boolean Null Undefined Object
console.log(typeof 信息); 判断信息的数据类型
2. 运算符
算术、比较、逻辑、连接
3. 流程控制
switch
break/continue
4. 函数
封装
参数
3.2 关键字arguments
conosle.log(arguments)输出全部形参。;function 函数名(){} //函数声明没有形参
函数名(实参,实参); //调用的时候有传递实参
利用arguments可以在函数里边接收实参信息。
4. callee关键字
本函数的应用。意思:在函数内部使用,代表当前函数的引用。
function f1(){
xxxx具体执行代码
arguments.callee(); //调用本函数(或者f1())
//都可以使得本函数执行,我们选择callee,其可以降低代码的耦合度。
xxxx执行代码
}
f1();
耦合:一处代码的修改会导致其他代码也要发生改变。
在程序项目里边要开发低耦合度的代码。
5. 函数返回值
一个函数执行完毕需要返回具体的信息,使用return关键字返回信息。在一定层度上看,全部的数据类型(数值、字符串、布尔、对象、null)信息都可以返回
return本身还可以结束函数的执行。
在函数内部返回一个函数出来。
在javascript里边,一切都是对象
在一个函数内部,可以声明数值、字符串、布尔、对象等局部变量信息,言外之意就还可以声明函数(函数内部还要嵌套函数),因为函数是对象,并且函数可以被return给返回出来。
6. 函数调用
6.1 传统方式函数调用
函数名();6.2 匿名函数自调用
(function(){})();7. 全局/局部变量
7.1 全局变量
php里边:① 函数外部声明的变量。② 在函数内部也可以声明全局变量(函数调用之后起作用)
funciton f1(){
global $title;
$title = “javascript”;
}
f1();
echo $title;
javascript里边:① 在函数外部声明的变量
②函数内部不使用“var”声明的变量(函数调用之后起作用)
7.2 局部变量
php里边:在函数内部声明的变量javascript里边:在函数内部声明的变量,变量前边有”var“关键字。
六. 数组
1.什么是数组
有许多变量,它们的名称和数据类型都是一致的。2. 数组声明
var arr = [元素,元素,元素。。。];var arr = new Array(元素,元素,元素。。。);
var arr = new Array(3);
arr[0] = 元素;
arr[1] = 元素;
3. 获取数组长度
数组.length;4. 数组遍历
沿着一定的顺序对数组内部的元素做一次切仅做一次访问,就是遍历。for循环遍历
for-in遍历
5. 数组常用方法
七. 字符串
在javascript里边,字符串可以调用一些成员。八. 神奇的eval用法
总结:1. 函数
关键字:arguments/callee
返回值:return关键字
全部类型信息都可以返回
内部嵌套的函数也可以返回(对象赋值有体现)
函数调用:
传统方式
匿名函数自调用
(function(){})();
全局变量、局部变量
2. 数组使用
声明:3种方式
长度:length
遍历:for for-in
3. 字符串
字符串可以调用成员
4. eval语句
预习:DOM操作、事件操作
相关文章推荐
- js写随机输出7位数代码教程
- EF在转换成JsonResult时遇到无限循环的解决办法
- JS 制作九九乘法表
- 理解JavaScript原型
- Extjs4.2 tabPosition left 相关
- JavaScript高级程序设计之DOM之DOM 操作技术之动态样式第10.2.2讲
- JavaScript静态类详解
- 再谈javascript面向对象编程
- Selenium Webdriver JS事件在各浏览器的区别,彻底解决Selenium鼠标悬停 Mouseover和hover问题
- href中jstl的输入
- jstl架包
- 获取一组radio中其中一个的值
- javascript转到新的页面
- Javascript面向对象编程(二):构造函数的继承
- js页面跳转整理
- 超实用的JavaScript代码段 Item3 --图片轮播效果
- Javascript 面向对象编程(一):封装
- ionic service.js
- 用UglifyJS2合并压缩混淆JS代码
- 你不知道的JavaScript--Item27 异步编程异常解决方案