JavaScript是客户端脚本语言,运行前无需编译,直接由Js引擎逐行解释执行,也可基于Node.js技术进行服务端编程。 JS由三部分组成:
1.行内式(直接写在元素内部)
<body>
<input type="label" value="这是一个JavaScript标签">
</body>
2.内嵌式
<script>
alert('这是内嵌式写法');
</script>
3.外部js
<script src="JavaScript.md"></script>
PS:引用外部JS文件的script标签中间不能加代码
单行注释快捷键:ctrl+/ 多行注释快捷键:ctrl+shift+/
浏览器弹出警示框:alert(msg) 浏览器输入框:prompt(info) 控制台输出框:console.log(msg)
<script>
alert('警示信息');
prompt('请输入信息:');
console.log('给程序员看的信息');
</script>
var age; //声明一个名称为age的变量
age=21; //给age变量赋值为21
var age=21; //声明变量同时赋值为21
只声明不赋值 结果为undefined 不声明不赋值直接使用 结果报错 不声明只赋值 结果输出值
$)组成JavaScript是一种弱类型的动态语言,即不用提前声明变量的类型,在程序运行中类型会被自动确定。 JS拥有动态类型,这意味着相同变量可用作不同类型。
var x=6;
var x='A';
//以上是可行的
数字型,包含整型和浮点型,默认值为0 此外数字型有三个特殊值:infinity(无穷大),-infinity(无穷小),NaN(非数值型) isNaN():判断是否为数字型,返回一个布尔值(true 或者 false)
var num=10; //数字型
var num=012; //数字前加0为八进制
var num=0x9; //数字前加0x为十六进制
Number.MAX_VALUE=1.7976931348623157e+308 //数字型最大值
Number.MIN_VALUE=5e-324 //数字型最小值
布尔型,true和false,值为1和0
字符串类型 获取字符串长度:string.length 字符串拼接用加号
var str="这是一个字符串";
alert(str.length); //输出7
console.log("12"+12); //输出1212
console.log("新年"+"快乐!"); //输出 新年快乐!
声明变量但未赋值时,变量=undefined
console.log(undefined+'变量'); //输出 undefined变量
console.log(undefined+1); //输出NaN
console.log(true +undefined); //输出1,因为ture的值是1
空值
var a=null;
console.log(a+'空值'); //输出 null空值
console.log(a+1); //输出1
var num=10;
var str='字符串';
var flag=true;
var vari=undefined;
var timer=null;
console.log(typeof num); //输出number
console.log(typeof str); //输出string
console.log(typeof flag); //输出boolean
console.log(typeof vari); //输出undefined
console.log(typeof timer); //输出object
PS:prompt('用户输入的内容')取过来的值是字符型
tostring():转换成字符串 string():强制转换成字符串 加号拼接(隐式转换):和字符串拼接的结果都是字符串
preselnt(string):将string转成整数数值类型 parseFloat(string):将string转成浮点数值型 Number():强制转换为数字型 js隐式转换(- * /):利用算术运算转换为数值型
Boolean()函数:将其他类型转换为布尔型 代表空,否定的值会被转换为false例如'',0,NaN,null.undefined 其他值会被转换为true
加(+) 减(-) 乘(*) 除(/) 基本算数运算符不做概述
var result=0.1+0.2; //结果不是0.3而是0.30000000000000004
console.log(0.07*100); //不是7而是7.00000000000001
同理,不能直接判断两个浮点数是否相等
同c语言,c++
var num=0;
num++; //先返回值,再自加1
++num; //先自加1,再返回值
var num1=0;
num--; //先返回值,再自减1
--num; //先自减1,再返回值
< 小于 > 大于 >= 大于等于号(大于或等于) <= 小于等于号(小于或等于) == (判等号,会转换类型) === (全等号,要求值和类型都一致) != (不等号)
console.log(1<2); //true
console.log(1>2); //false
console.log(2>=1); //true
console.log(2<=1); //false
console.log(1=='1'); //true
console.log(1==='1'); //false
console.log(1!=2); //true
&& 逻辑与:全真则真,一假为假
console.log(3>5&&3>2); //false
console.log(3>2&&3>1); //true
||逻辑或:全假则假,一真为真
console.log(3>5||3>2); //true
console.log(3>5||3>6); //false
! 逻辑非:非真为假,非假为真
console.log(!true); //false
console.log(!false); //true
当有多个表达式(值)的时,左边的表达式可以确定结果时,就不再继续运算右边表达式的值了 逻辑与:
console.log(1&&2); //返回2
console.log(0&&1); //返回0
逻辑或:
console.log(1||2); //返回1
console.log(0||1); //返回1
=:直接赋值 +=,-=:加,减后再赋值 *=,/=,%=:乘,除,取模后再赋值
1.小括号 () 2.一元运算符 ++,--,! 3.算数运算符 先*,/后+,- 4.关系运算符 >,>=,<,<= 5.相等运算符 ==,!=,===,! == 6.逻辑运算符 先&&后|| 7.赋值运算符 = 8.逗号运算符 ,
顺序选择循环三种流程,不做赘述
同c,c++种if语句,不做赘述
条件表达式 ? 表达式1 : 表达式2 条件为真返回表达式1的值,条件为假返回表达式2的值
同c,c++中switch语句
for语句循环 while语句循环 do···while语句循环 基本语法懂得都懂
break 跳出整个循环 continue 结束一次循环
1.利用new创建数组
var 数组名=new Array();
var arr=new Array();
2.利用数组字面量创建数组
var 数组名=[];
var 数组名=[1,2,3,4];
var arr=[1,'小白','小黑',a,b]; //数组中可以存放任意类型的数据
var arr=[1,2,3,4];
console.log(arr[0]); //输出1
console.log(arr[5]); //数组中没有这个数组元素,所以输出结果是undefined
1.for循环遍历数组
var arr=[1,2,3,4];
for(var i=0;i<4;i++){
console.log(arr[i]);
}
2.数组长度
var arr=[1,2,3,4];
console.log(arr.length); //输出数组长度 4
3.求数组元素最大值
var arr=[1,2,3,4];
var max=arr[0];
for(var i=0;i<arr.length;i++){
if(arr[i]>max){
max=arr[i];
}
}
console.log("数组最大值是"+max);
4.数组转换为字符串并用分隔符分开
var arr=['red','blue','green','yellow'];
var str='';
var sep='|';
for(var i=0,i<arr.length;i++>){
str+=arr[i]+sep;
}
console.log(str);
var arr=[4,1,5,3,2];
for(var i=0;i<=arr.length-1;i++){
for(var j=0;j<=arr.length-i-1;j++){
if(arr[j]<arr[j+1]){
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
console.log(arr);
function 函数名(){
//函数体
}
function 函数名(形参1,形参2...){
}
函数名(实参1,实参2...);
本文章使用limfx的vscode插件快速发布