Javascript语言基础

Javascript语言基础

JavaScript简介

JavaScript发展史

欧洲计算机制造商协会(ECMA)

JavaScript组成:

  • ECMAScript
  • DOM
  • BOM
JavaScript特点及规范
  • 解释性,不需要编译
  • 嵌套在HTML中
  • 弱数据类型,定义变量时,无需指定变量的类型
  • 跨平台
  • 基于对象,不是纯面向对象的,语法相对比较灵活
  • 基于事件驱动

注意以下规范:

  • 浏览器解析JavaScript脚本时,会忽略标识符与运算符之间的空白字符
  • 每条语句单独占一行,并以英文分号(:)结束
  • 代码要有缩进,以增加代码层次感

Javascript使用形式

形式:

  • 行内Javascript脚本

  • 内部Javascript脚本

  • 外部Javascript脚本

  1. 行内Javascript脚本

    嵌入到HTML标签内使用

  2. 内部Javascript脚本

    提取出来统一放在<script>,</scrip>

  3. 外部Javascript脚本

    单独文件进行存放,后缀为.js,然后再HTML页面中通过<script>标签将JS文件引入

基本语法

标识符

名称

规则:

  • 标识符由数字,字母,下划线(_),美元符号($)构成
  • 第一个字母必须是字母,下划线或美元符号
  • 标识符区分大小写,推荐驼峰命名规则
  • 不能与Javascript中的关键字相同
关键字
abstractargumentsbooleanbreakbytecasecatch
charclassconstcontinuedebuggerdefaultdelete
dodoubleelseenumevalexportextends
falsefinalfinallyfloatforfunctiongoto
ifimplementsimportininstanceofintinterface
letlongnativenewnullpackageprivate
protectedpublicreturnshortstaticsuperswitch
synchronizedthisthrowthrowstransienttruetry
typeofvarvoidvolatilewhilewithyield
数据类型
数据类型描述
String字符串
Boolean布尔值
Null声明某个变量为null
Undefined变量未初始化
Array变量或函数的集合
Number数值类型可以是32位整数,64位整数;整数可以是十进制,八进制,十六进制
Function特殊的对象数据类型,可以被存储在变量,数组,对象中,作为参数传递给其他函数
Object通过属性和方法定义的软件对象;对象中的命名变量称为属性,函数称为方法
变量

程序储存数据的基本单位,用来保存数据

  1. 变量的定义

    通过var声明(区分大小写)

    var name,age;
    var type="student";
    
  2. 变量的类型

    弱数据类型,不需要指明变量的数据类型

    通过typeof运算符或**typeof()**函数来获取变量当前的数据类型

  3. 变量的作用域

    • 全局变量

      函数之外变量或者未定义直接使用的变量

    • 局部变量

      函数内部声明变量,仅对当前函数体有效

注释
  1. 单行注释

    var age=18;
    //定义学生的专业
    var major="计算机专业"
    
  2. 多行注释

    /*工资统计
     * Base:基本奖金
     * bonus:奖金
     */
     function conutSalary(base,bonus){
     	//省略***
     }
    

运算符

赋值运算符
运算符描述
+=x+=y,x=x+y
-=x-=y,x=x-y
*=x*=y,x=x*y
/=x/=y,x=x/y
%=x%=y,x=x%y
&=x&=y,x=x&y
|=x|=y,x=x|y
^=x=y,x=xy
<<=x<<=y,x=x<<y
>>=x>>=y,x=x>>y
>>>=x>>>=y,x=x>>>y
算术运算符
运算符描述
+
-
*
/
%取余
++自加
自减
比较运算符
运算符描述
>大于
>=大于等于
<小于
<=小于等于
!=不等于
==等于。值相同,则返回true
!==严格不相等。值或者数据类型不相同,则返回true
===严格相等。值 和 数据类型 都相等,则返回true
逻辑运算符
运算符描述
与(&)同时true,返回true
或(||)同时false,返回true
非(!)相反
三元运算符
expression ? value1 : value2
  • expression表达式为true,返回value1
  • expression表达式为false,返回value2

流程控制

分支结构
  • if条件语句
  • switch多分支语句
  1. if条件语句

    if(condition1){
    	statement1;
    }
    [else if(condition2){
    	statement2;
    }]
    ...
    [else{
    	statement3;
    }]
    
  2. switch语句

    switch(expression){
    	case value1:
    		statement1;
    		break;
    	case value2:
    		statement2:
    		break;
    	...
    	default:
    		statement;
    }
    
循环结构
  • while 循环
  • do while 循环
  • for 循环
  • for in 循环
  1. while循环

    while(expression){
    	statement;
    }
    
  2. do while 循环

    先循环一遍

    do{
    	statement;
    }while(expression);
    
  3. for循环

    for(initialization;expression;post-loop-expression){
    	statement;
    }
    
  4. for in 循环

    for(property in object){
    	statement;
    }
    
转移语句
  • break语句
  • continue语句
  • return语句
  1. break语句

    • 用在switch结构中,跳出switch分支
    • 用在循环,立刻退出,不在执行循环体中任何代码
  2. continue语句

    仅仅退出当前循环,然后判断是否满足下一次循环

  3. return语句

    通常在函数中使用

    退出当前函数,不再执行该函数return语句之后的代码

with语句

简化对象操作

大量使用document对象,可以简化

<script type="text/javascript">
	with(document){
		write("<table border='1'>");
		write("<tr>");
		write("<th>ID</th><th>商品编号</th><th>价格</th>");
		write("</tr>");
		var i=1;
		while(i<=4){
			write("<tr>");
			write("<td>"+i+"</td>");
			write("<td>FZ00"+i+"</td>");
			write("<td>"+(Math.random()*100).toFixed(2)+"</td>");
			write("</tr>");
			i++;
		}
		write("</table>")
	}
</script>

注意:虽然可以精简代码,但是会使运行效率变慢,尽量少用

函数

  • 预定义函数
  • 用户自定义函数
预定义函数

预先定义好的函数,内建函数,可直接使用

函数描述
parseInt()字符串转换为整数
parseFloat()字符串转换为浮点数
isNaN()(is not a number),一个数字时,返回false
isFinite()是否是无穷,如果是,返回false
escape()将字符转换为Unicode码
unescape()解码escape函数编码的字符
eval()计算表达式的结果
alert()显示一个提醒对话框,包括一个OK按钮
confirm()显示一个确认对话框,包括OK和Cancel按钮
prompt()显示一个输入对话框,提示等待用户输入
  1. parseInt()函数

    解析字符串,返回一个整数

    遇到 除了数字,符号,小数点,指数符号 以外的字符,就停止转换,返回已有的结果

    当第一个字符不能转换,则返回NaN(not a number)

    parseInt(string,[radix])
    
    • radix可选,数字基数(几进制),介于2~36之间

    • string表示被解析的字符串

    • radix为0(或未提供),根据string自动判断

      “0x”开头,为十六进制

      “0”开头,为八进制

      1~9开头,为十进制

  2. parseFloat()函数

    解析字符串,返回一个浮点数

    parseFloat(string)
    
    • string表示被解析的字符串
    • 首个字符为数字,则解析,到末端为止,并返回结果;否则返回NaN
  3. isNaN()函数

    检查是否是一个非数字、

    isNaN(value)
    
    • value为需要检查的值
    • value是数字,返回false;否则返回true
  4. eval()函数

    将字符串作为脚本代码来执行

    eval(string)
    
    • string是一个要计算的字符串,可以是Javascript表达式或要执行的脚本
    • 如果为表达式,将执行表达式,返回计算结果
    • 如果为脚本,则执行脚本
  5. 对话框函数

    • alert()函数用于弹出一个提示对话框
    • confirm()函数用于弹出一个确认对话框,单击“确认”,返回true,单击“取消”,返回false
    • prompt()函数用于接收用户输入的输入框
自定义函数

自定义函数,不需要声明函数的参数类型,也不需要声明函数的返回类型

  • 命名函数
  • 匿名函数
  • 对象函数
  • 自调用函数
  1. 命名函数的定义

    function funcName([parameters]){
    	statementes;
    	[return expression];
    }
    
    • function是定义函数的关键字
    • funcName表示函数的名称
    • parameters,参数,可选,多个参数之间逗号(,)隔开
    • statements,函数体,实现函数功能的脚本
    • return,可选,缺省返回undefined
  2. 匿名函数的定义

    通过表达式的形式定义一个函数

    function([parameters]){
    	statementes;
    	[return expression];
    };
    
    • 没有提供函数名称
    • 函数结尾以分号(;)结束
    • 使用变量对匿名函数进行接收

    示例:

    <script type="text/javascript">
    	var f=function(user){
    		alert("欢迎"+user+"来到漫步时尚广场");
    	}
    	var test=f;
    	f("admin");
    	test("admin");
    </script>
    
  3. 对象函数的定义

    Function类,用于定义函数

    var funcName=new Function([parameters],statements;);
    
    • Function定义函数的关键字,首字母必须大写
    • parameters,参数,可选,逗号隔开
    • statements,字符串格式,函数的执行体,分号(;)隔开

    示例:

    <script type="text/javascript">
    	var showInfo=new Function("name","age","authority","address",
    		"alert('数据处理中');"+
    		"return('姓名'+name+',年龄'+age+',权限:'+authority+',地址:'+address);");
    	alert(showInfo("guoqy",30,"管理员","青岛"));
    </script>
    
  4. 自调用函数

    只有被调用才会被执行

    (function([paraments]){
    	statementes;
    	[return 表达式];
    })([params]);
    
    • 将函数的定义使用小括号"()"括起来,通过小括号说明此部分是一个函数表达式
    • 表达式后紧跟一对小括号"()",表示该函数将被自动调用
    • parameters,形参,可选,逗号隔开
    • params,实参,函数调用时传入数据

    示例:

    <script type="text/javascript">
    	var user="guoqy";
    	(function(userData){
    		alert("欢迎"+userData+"来到漫步时尚广场");
    	})(user);
    </script>
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值