大家好,小编为大家解答js解释器是什么语言写的的问题。很多人还不知道javascript属于什么语言,现在让我们一起来看看吧!
1.JavaScript基本简介
JavaScript是什么?
JavaScript是一种web前端的描述语言,也是一种基于对象(object)和事件驱动(Event Driven)的,安全性好的脚本语言。
它运行在客户端从而减轻服务器的负担python for语句用法。
JavaScript的特点
1.JavaScript主要用来向html页面添加交互行为。
2.JavaScript是一种脚本语言,语法和C语言系列的语法类似,属于弱语言类型。
3.JavaScript一般用来编写客户端脚本,如node.js。
4.JavaScript是一种解释型语言,边执行边解释无需另外编译。
JavaScript的用途
JavaScript的用途是解决页面交互和数据交互,最终目的是丰富客户端效果以及数据的有效传递。
JavaScript组成部分
ECMAScript:描述了该语言的语法和基本对象。
DOM:描述了处理网页内容的方法和接口。
BOM:描述了与浏览器进行交互的方法与接口。
JavaScript的基本语法:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
< type="text/java">
//这里编写java代码
</>
</body>
</html>
JavaScript的执行原理
2.JavaScript变量及数据类型
**变量:**是存储信息的容器,可以存储任何类型的数据。
变量的定义方法:
关键字:var
< type="text/java">
var name;
</>
这里声明了一个变量name,但是没有赋值,所以他的值为“undefined”,表示无初始值。
< type="text/java">
var name = "jack";
var age = 27 ;
var girlfriend = false;
var fn = function(){};
</>
这里定义了多个变量,name表示名字,值为“jack”,数据类型为“字符串”;age表示年龄,值为27,数据类型为“number”;girlFriend表示女朋友,值为“否”,数据类型为“布尔值”;fn表示一个方法,值为一个函数,数据类型为对象。
(也就是说,变量是可以存放多种类型的,可以是字符串,数字,布尔值,对象…也可以是undefined)
简写:
var name = "jack",age = 27,girlfriend = false,fn = function(){};
数据类型的两种访问方式
基本类型值:按值访问,操作的是他们实际保存的值。
引用类型值:按引用访问,当查询时,我们需要从栈中读取内存地址,然后再找到保存在堆内存的值。
Undefined类型:.
1.在使用var声明变量但未对其加以初始化时,这个变量就是undefined
var message;
alert(message == undefined); //返回值为true
该例子声明了message变量,但是没有对其初始化,因此返回的值为undefined。
2.未声明变量,例如:
var age ;
alert(age) // 返回 undefined
3.通过typeof返回数据类型时,未定义变量或没有初始化都将返回undefined,例如:
var message;
var age;
alert(typeof message);//undefined
alert(typeof age);//undefined
Null类型
null类型是第二个只有一个值的数据类型,值为null。例如:
var car = null;
alert(typeof car);//object
Boolean类型
boolean类型有两个值,true和false。例如:
var found = true ;
var lost = false;
注:true和false区分大小写。
Number类型
String类型
用于表示零个或多个16位Unicode字符串组成的字符序列,即为字符串。通常用 ’ ’ 或 " "表示,例如:
var firstName = "Li";
var lastName = 'hua';
字符串具有length属性。
3.JavaScript运算符和操作符
JavaScript常用运算符和操作符:
一元操作符
前置自增(减)会先自增(减)再参与其他运算,后置先参与其他运算再自增(减)。
对于不是Number类型的值进行自增自减时会先将其隐式转换为Number类型,然后再自增(减)。
关系比较操作符
1.比较双方都为字符串时,则会从前往后逐个比较字符编码值,只要有较大值就终止比较,不会往后进行。
2.比较双方有一个Number类型,则会将非Number类型数据转为Number类型值再比较。
3.操作符是对象时,调用valueof(),如果没有就调用toString(),再将结果进行比较。
4.任何数和NaN比较都会返回false。
4.JavaScript判断,循环语句
if-else基本格式
if(表达式){
语句1;
}else{
语句2;
....
}
功能说明:如果表达式的值为true则执行语句1,否则执行语句2
实例:
var x = (new Date()).getDate();
//获取今天的星期值,0为星期天
if((x == 6) || (x == 0)){
y = "周末";
}else{
y = "工作日";
}
alert(y);
拓展:
var x = new Date(); //new Date()方法获取当前完整的时间对象。
var y = x.getFullYear();//获取当前时间对象的具体年份值
var z = x.getMonth();//获取当前时间对象的月份值,注意月份从0开始计数,即0为一月,1为二月,以此类推。
var a = x.getHours();//获取当前时间对象的小时数。
var b = x.getMinutes();//获取当前时间对象的分钟数。
var c = x.getSeconds();//获取当前时间对象的秒数
switch选择控制语句
基本格式:
switch(定义变量){
case 值1:执行语句一;break;
case 值2:执行语句二;break;
case 值3:执行语句三;break;
default:语句四;
}
switch比if else结果更加清晰简洁,使程序可读性更强。
switch(x){
case 1:y="星期一"; break;
case 2:y="星期二"; break;
case 3:y="星期三"; break;
case 4:y="星期四"; break;
case 5:y="星期五"; break;
case 6:y="星期六"; break;
case 7:y="星期日"; break;
default: y="未定义";
}
for循环基本格式
for(初始化;条件;增量){
语句1;
...
}
功能说明:实现条件循环,当条件成立时,随增量循环遍历初始化变量并执行语句1,否则跳出循环体。
实例:用for循环求出1~100的和。
var sum = 0 ;
for(var i = 1;i<=100;i++){
sum = sum + i ;
}
alert(sum);
continue关键词用法:
continue语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。
示例代码:
for (i=0;i<=10;i++){
if (i==3) continue;
x=x + "The number is " + i + "<br>";
}
//跳过了值3
for循环的一个变体(for…in)可以把一个对象的所有属性以此循环出来。
var o = {
name: 'Jack',
age: 20,
city: 'Beijing'
};
for (var key in o) {
alert(key); // 'name', 'age', 'city'
}
while循环与do…while循环
while循环只有一个判断条件,条件满足,就不断循环,条件不满足则退出循环。
var x = 0;
var n = 99;
while (n > 0) {
x = x + n;
n = n - 2;
}
x;
do{…}while()循环,它和while循环的唯一区别在于,不是在每次循环开始的时候判断条件,而是在每次循环完成的时候判断条件。