JavaScript教程
js简介
javaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。[1]
为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。
快速学习
一、使用语法规范
① 在html代码里边引入js语言
<script type=”text/javascript”>具体js代码</script>
<script type=”text/javascript” src=”js文件”></script>
② 代码大小写敏感
true/false 布尔值
TRUE/FALSE 非布尔值
③ 结束符号
每个简单语句使用”;”分号结束,与php类似
在javascript里边,该分号不是必须的,但是推荐使用
④ 注释
// 单行注释
/多行注释/
⑤ 变量
其值可以发生改变的量就是变量。
变量是内存中运行的最小单位
var name = “tom”;
var age = 23;
var address_123 = ‘北京’;
变量名字命名规则:
js里边:字母、数字、下划线、$符号、汉字 等5个组成部分,数字不能作为名字的开始内容。
var shoudu = “xxxx”;
var abc_$_123 = “hello”;
var 首都 = “北京”;
var 99_num = 101;
⑥ 数据类型
javascript(6种): number(int/float) string boolean null undefined object
(数组是对象的一部分)
null类型:空对象 类型。
问:什么时候使用null?
答:使用null声明变量可以提高代码可读性,
可以预先声明一个null类型的变量,后期使用一个具体对象进行赋值。
var name = “”;
var age = 0;
var per = null; //先声明,后期再使用具体对象进行赋值
undefined未定义类型:使用一个没有声明的变量。
⑦ typeof 判断变量的数据类型
判断变量的数据类型
console.log(typeof 10);
二、Number数值数据类型
1、分为十进制、八进制、和十六进制
例如:
console.log(10);
console.log(065);
console.log(0xbcd);
2、浮点数:即点小数点的数
console.log(10.0);
console.log(0.23);
console.log(14.3);
3、最大数和最小数
Number.MAX_VALUE
Number.MIN_VALUE
4、无穷大数
两个最大数的算术和超出了javascript的表示范围,就显示无穷大infinity
或者一个数去除以0,获得的结果也是infinity
console.log(Number.MAX_VALUE*2);
三、运算符
1、算数运算符
+ - ++ --
++ ++
++ ++
注意:
i++和++i在没有赋值的时候进行运算的时候结果是一样的,但是
在赋值的情况下:i++是先赋值再运算,而++i是先自增加一再进行运算。
2、比较运算符
> < >= <= != ==
===全等于 !==不全等于
全等于===:比较值的类型和数据大小
等于==: 比较值的数据大小
console.log(10==’10’); //true
console.log(10===’10’); //false
console.log(10===10); //true
比较运算符的返回信息是boolean结果信息
3、逻辑运算符
逻辑或||:其中之一为真,结果为真
逻辑与&:都为真,结果为真
逻辑或!:结果和运算结果相反
四、流程控制
***顺序结构***
分支选择结构:if else if else switch
循环结构:while(){} do{}while() for()
switch用法:
switch(变量){
case 常量:
分支;break;
case 常量:
分支;break;
case 常量:
分支;break;
default:
分支;break;
}
两个关键字:break和continue
break:在循环、switch里边有使用
结束当前的本层循环,跳出switch的分支结构
continue:在循环里边使用
跳出本次循环,进入下次循环
注意:可以通过设置标志位来改变
for1
flag:
for2
pig:
for3
for4
break flag/pig; //把flag/cat标志的循环给结束
continue flag/pig; //结束flag/cat标志的当前循环,进入下次循环
六、函数function
函数声明
1、第一种方式(常规方式):
function 函数名(){}
该方式的函数有“预加载”过程,允许我们先调用函数、再声明函数
**预加载**:先把函数的声明放入内存。代码看起来是先调用、后声明,本质是先声明、后调用的。
函数名();
function 函数名(){}
函数先调用、后声明的条件是:全部代码在同一个”<script>”标记里边。
2、声明函数赋值(匿名函数):
var 函数名 = function(){}
在javascript里边,函数就是一个变量,数据类型是对象。
该方式没有“预加载”,必须“先声明、后调用”。
函数参数
1、实参和形参:
function(param1,param2){}
function(param1,param2);
注意:在javascript里边:实参与形参个数没有严格的对应要求
2、关键字arguments:
function 函数名(){}
函数名(实参,实参);
例如:
function fun(){
var length = arguments.length;
if(length == 1){
console.log(arguments[0]);
}else if(length == 2){
console.log(arguments[0] + "---" + arguments[1]);
}
}
fun("hello");
fun("hello","world");
3、callee关键字
意思:在函数内部使用,代表当前函数的引用(名字)。
作用:降低代码的耦合度。
耦合度:一处代码的修改会导致其他代码也要发生改变(耦合度高)
在项目里边要开发低耦合度的代码(一处代码修改尽量少地引起其他代码的变化)。
例如:
function fun(){
arguments.callee();
}
fun();
4、函数返回return
function 函数名称(){
函数执行体代码...
return 信息;
}
console.log(函数名称()); //可以输出函数的return信息
var fun1 = 函数名称(); //可以使得return信息对变量进行赋值
一个函数执行完毕可以通过return关键字返回一定的信息,该信息可以直接输出、也可以进行变量赋值。return本身还有结束函数的执行效果。
在一定意义上看,全部的数据类型(数值、字符串、布尔、对象、null)信息都可以返回(undefined类型无需返回,本身无意义)
在javascript里边函数return除了可以返回基本类型的信息,其还可以返回function函数。
在javascript里边,一切都是对象
在一个函数内部,可以声明数值、字符串、布尔、对象等局部变量信息,言外之意就还可以声明函数(函数内部还要嵌套函数)变量信息,因为函数是对象,并且函数可以被return给返回出来。
值传递和引用传递:
值传递:
var a = 1;
var b = a;
引用传递:
var fun = function(){
console.log(11111);
}
var fun1 = fun();
七、函数调用
1、第一种方式:
函数名();
2、第二种方式:
(function(){})()
八、全局变量/局部变量
1、全局变量
① 在函数外部声明的变量
② 函数内部不使用“var”声明的变量(函数调用之后起作用)
例如:
var a = 10;
function test(){
b = 10;
}
2、局部变量:
javascript里边:在函数内部声明的变量,变量前边有”var”关键字。
九、数组
1、什么是数组(what):
有许多变量,它们的名称和数据类型都是一致的,把这些变量的集合称为“数组”。
(实际应用中数组内部各个元素的数据类型可以是不同的)
2、数组的声明:
三种方式:
① var arr = [元素,元素,元素。。。];
② var arr = new Array(元素,元素,元素。。。);
③ var arr = new Array();
arr[0] = 元素;
arr[1] = 元素;
3、获取数组的长度:
数组.length;
4、遍历数组:
① for循环 遍历
② for-in遍历
5、常用方法:
push()
pop()
indexOf()
lastIndexOf()
十、字符串
定义:通过(单/双)引号把键盘上用于显示的一些信息给括起来,就是一个字符串
var name = ‘JavaScript’;
var addr = “hello JavaScript”;
十一、eval
eval(参数字符串)
该eval可以把内部参数字符串当成表达式,在上下文环境中运行。
该eval()经常用于把其他用户传递过来的字符串信息转变为javascript的实体(对象、数组等)信息。
eval(参数字符串):参数要求必须符合js语法规则。
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
相关推荐
JavaScript快速入门教程和练习 JavaScript快速入门教程和练习 JavaScript快速入门教程和练习
JavaScript从小白到入门图文教程,适合小白的js知识笔记
Javascript快速入门教程!精要地介绍了Javascript的语法元素、语法结构,并给出了非常实用的小例子!
electron-quick-start-master 快速入门教程electron-quick-start-master 快速入门教程electron-quick-start-master 快速入门教程electron-quick-start-master 快速入门教程electron-quick-start-master 快速入门教程...
javascript 快速入门教程,javascript面向对象编程。希望对学习javascript的朋友有所帮助
Javascript入门最好的一本书,通过浅显易懂的例子让你快速成为WEB开发的牛人。
资源名称:Javascript教程_Angular2 入门 内容简介: 本文档是Angular2 入门;Angular1.x显然非常成功,那么,为什么要剧烈地转向Angular2? AngularJS当初是提供给设计人员用来快速构建HTML...
SuperMap iClient for JavaScript
javaScript的基础教程,包含了基本语法,以及各种事件,内部对象的属性及用法,简单,实用
Vue + OpenLayers 快速入门学习教程 Openlayers 是一个模块化、高性能并且功能丰富的WebGIS客户端的JavaScript包,用于显示地图及空间数据,并与之进行交互,具有灵活的扩展机制。 简单来说,使用 Openlayers...
JavaScriptJavaScript教程--从入门到精通,快速入门。
js入门教程,pdf电子版,内容清晰,希望你能喜欢!
JavaScript是一种功能强大的基于对象的脚本语言。JavaScript程序可以直接嵌入HTML...经验丰富的程序设计者可以从中快速地找到编写复杂JavaScript程序需要的信息。本书对所有JavaScript程序设计者来说都是绝对必要的。
JavaScript基础教程笔记,对基础知识的概括,让你快速入门。
为此,本书以有别于一般教程的任务驱动方式来组织,围绕35个必会的关键JavaScript任务进行论述,并针对常见任务提出了一些新的开发方法,再加上本书独特的左页原理右页代码的编排方式,使你在阅读过程中快速地获得...
本课程是一门针对初学者的JavaScript基础入门教程,旨在帮助学习者快速掌握JavaScript编程语言的基本概念和应用技巧。无论你是完全没有编程经验的新手,还是具备其他编程语言知识的学习者,都能从本课程中获得实用的...
JavaScript的入门与进阶教程
被网友友好称为高胖胖的高洛峰老师用简洁易懂的语言让我们快速入门javascript,很受追捧
JavaScript网页教程~可以让你快速入门