第五十一天js的基础
1.js里面的单行注释:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
//的那行注释
2js里面的多行注释:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
/*多行作时
fljdkfjdfjlkj
*/
3.js变量名的声明:
1.可以是数字、字母、下划线、或者$,但是开头不能是数字。
2.声明变量名的方法;var 变量名=值;(这个变量是一个动态变量)(动态变量指的是可以有多个数据类型)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var name=123; undefined name "123" var name=12; undefined name "12"
3.变量名是区分大小写的;
4.推荐使用驼峰式的命名规则(userName);(python中是使用下划线user_name)
5保留字不能作为变量名:(python中是关键字不能作为变量名)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var name='alex' var name=123; var $ ='怒' console.log('name',name); console.log('$' ,$)
4.数字数据类型:
在js中不区分整型和浮点型,他们都属于同一种数据类型。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var num1 =134; var num2= 123.4; var num3=123e12; var num4=123e-3; console.log('num1',num1); console.log('num2',num2); console.log('num3',num3); console.log('num4',num4);
结果为
4.1NaN代表不是一个数字类型,(Not a number)
5.字符串数据类型(和python一样即可以用单引号,也可以用双引号)
5.1字符串的拼接(使用加号)和python一样
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var name='alex'; var name1='小强'; name2=name+name1; console.log('字符串拼接后的内容',name2) 结果为 01js基础.js:25 字符串拼接后的内容 alex小强
5.2字符串的一些操作指令(和python相似)
在使用substring时如果start>stop,则start和stop位置将会被交换,如果参数中含有负数,或者不是数字的,则将会被0替换。
在使用slice 如果参数中start>stop,则代表面的参数正着数元素,后面的参数倒着数元素。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var name='fjdinfddfjkjf' s1=name.length //返回字符串的长度 var s2=' jinfdjk fjidfj ' s3= s2.trim() //去除字符串中左右空格 s4=s2.trimLeft()//去除字符串中左边空格 s5=s2.trimRight()//去除字符串中有右边空格 s6=s2.charAt(3) //显示字符串中第几个字符 s7=s2.substring(1,4) //左边一定要比右边小 s8=s2.slice(1,-1)//负数代表从后边开始计算,整数代表从前面开始计算 console.log('返回字符串的长度',s1) console.log('去除字符串中左右空格',s3) console.log('去除空格中右边空格',s5) console.log('去除空格左边空格',s4) console.log('显示字符串中第几个字符',s6) console.log('显示索引字符串',s7) console.log('显示索引字符串',s8) 结果为 返回字符串的长度 13 01js基础.js:36 去除字符串中左右空格 jinfdjk fjidfj 01js基础.js:37 去除空格中右边空格 jinfdjk fjidfj 01js基础.js:38 去除空格左边空格 jinfdjk fjidfj 01js基础.js:39 显示字符串中第几个字符 i 01js基础.js:40 显示索引字符串 ji 01js基础.js:41 显示索引字符串 jinfdjk fjidfj
5.3字符串的操作:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var name='fjdinfddfjkjf'; s1=name.toUpperCase();// 让字符串进行大写 var s2='ANNUJjfkjfd'; s3=s2.toLowerCase(); //让字符串都小写 s4=name.split('d');//让字符串进行分割并放到列表中 console.log('让字符串大写',s1); console.log('让字符串都小写',s3) console.log('进行分割',s4) 结果为 让字符串大写 FJDINFDDFJKJF 01js基础.js:48 让字符串都小写 annujjfkjfd 01js基础.js:49 进行分割 (4) ["fj", "inf", "", "fjkjf"]
6.布尔型数据false和true(hepython的写法有一点区别)(0、‘’、null、NaN、undefined都是false)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var a=true; var b=false; console.log(a); console.log(b); 结果为 true 01js基础.js: 54 false
7.数组操作(也就是python中的列表)
7.1像数组中的·末尾添加元素(相当于python中的append),删除元素是用pop(和python一致)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var list1=['fjj','jfdjj','fjij',123] list1.push('jfi') //给数组中添加元素 console.log('给数组中添加元素',list1) list1.pop() //默认删除最后一个 console.log('默认删除最后一个',list1)//删除数组中的数据 list1.pop('fjj')//没有办法指定内容进行删除 console.log(list1) 结果为 给数组中添加元素 (5) ["fjj", "jfdjj", "fjij", 123, "jfi"] 01js基础.js:58 默认删除最后一个 (4) ["fjj", "jfdjj", "fjij", 123] 01js基础.js:60 (3) ["fjj", "jfdjj", "fjij"]
7.2在数组的最前面添加或者删除元素(在python中使用insert和pop进行解决)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var list1=['fjj','jfdjj','fjij',123] list1.unshift('1')//在数据第一个位置添加元素 console.log('在数据第一个位置添加元素',list1) list1.shift()//在数据第一个位置删除元素 console.log('在数据第一个位置删除元素',list1) 结果为 在数据第一个位置添加元素 (5) ["1", "fjj", "jfdjj", "fjij", 123] 01js基础.js:65 在数据第一个位置删除元素 (4) ["fjj", "jfdjj", "fjij", 123]
7.3数组里的切片:(和python不一样的是他不是使用:而是使用,)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var list1=['fjj','jfdjj','fjij',123]; s1=list1.slice(2,4); console.log(s1); 结果为 (2) ["fjij", 123]
7.4:数组·里面的反转:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var list1=['fjj','jfdjj','fjij',123]; s1=list1.reverse()//数组里面的反转 console.log(s1) 结果为 (4) [123, "fjij", "jfdjj", "fjj"]
7.5数组里面的排序(如果是数字,是按照一个个数字进行排序,不能进行精确的排序)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var s1=[1,6,4,8]; s2=s1.sort(); console.log('可以正常排序',s2); var s3=[11,31,8,9]; s4=s3.sort(); console.log('排序出现问题',s4); 结果为 可以正常排序 (4) [1, 4, 6, 8] 01js基础.js:74 排序出现问题 (4) [11, 31, 8, 9] 原因为:当出现多位数时,先进性第一位数字比较,如果相同,则在进行第二位数字的比较,如果不同则直接得出大小。
7.6数组里面的join方法()
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s4=s3.join('*'); console.log(s4); 结果为 11*31*8*9
7.7数组里面的链接(相当于python中的expend)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s4=s3.concat([1,4,6,4],[1,'jf']); console.log(s4); 结果为 (10) [11, 31, 8, 9, 1, 4, 6, 4, 1, "jf"]
7.8可以使用for循环来遍地数组里面的元素:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
for (var i=0; i<s4.length;i++) { console.log(s4[i]) } 结果为 11 01js基础.js:78 31 01js基础.js:78 8 01js基础.js:78 9 01js基础.js:78 1 01js基础.js:78 4 01js基础.js:78 6 01js基础.js:78 4 01js基础.js:78 1 01js基础.js:78 jf
8.undefined和null的区别:如果定义了一个变量,没有给它赋值则成为undefined,如果定义了但是定义值为null则成为null;
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var s1; var s2=null; console.log(s1); console.log(s2); 结果为 undefined 01js基础.js:83 null
9.判断数据类型使用typeof(python中直接使用type)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var s1='alex'; var s2=13; var s3; var s4=null; var s5=false; var s6=[1,4,5]; console.log(typeof(s1)); console.log(typeof(s2)); console.log(typeof(s3)); console.log(typeof(s4)); console.log(typeof(s5)); console.log(typeof(s6)); 结果为 string 01js基础.js:91 number 01js基础.js:92 undefined 01js基础.js:93 object 01js基础.js:94 boolean 01js基础.js:95 object
10.是某个变量进行自加一或者自减一;
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var n=10; var n1=8; n++; n1--; console.log('自加一之后的结果',n); console.log('自加一之后的结果',n1); 结果为 自加一之后的结果 11 01js基础.js:101 自加一之后的结果 7
11.js里面的运算符:+、-、*、/、%;
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var n=1; var m=5; console.log('m+n',m+n); 结果为 m+n 6
12,比较运算符:>、<、 >=、 <=、 == (若等于,只比较值,不比较数据类型)====(强等于,不仅比较数值,而且比较数据类型)、!=(若不等于)、!==(强不等于)返回值和python一样不是false就是true;
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
console.log('这个在值上都为空',null==undefined); console.log('数值相同但数据类型不同',10=='10'); console.log('数值相同但数据类型不同',10==='10'); 结果为 这个在值上都为空 true 01js基础.js:106 数值相同但数据类型不同 true 01js基础.js:107 数值相同但数据类型不同 false
13.赋值运算符:+=、-=、*=、/=:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var num=10; num/=3; console.log('/=',num); 结果为 3.3333333333333335
14.js中字典的表示方法:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var dic1={ name:'alex', age:13 }; console.log(dic1.age); console.log(dic1['name']); 结果为 13 01js基础.js:116 alex
15.js中的if判断:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var num=10; if (num>8){ console.log('数值大于8') } else{ console.log('数值小于8') };
16.js中的for循环:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
dic1=[1,3,5,6,7]; for (var i=0;i<dic1.length;i++){ console.log(dic1[i]) }
17.while循环:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
age=10; while(age<15){ print('在等几年就可以进入'); age++; } 结果为 js:135 在等几年就可以进入