JavaScript语法快速入门[0基础]
JavaScript基础
基础语法快速入门
1.基本要素
每个语句以(;)结束
语句块用{…}进行包裹
2.赋值语句
var x=1;建议一行一句话
3.注释方式
1.第一种 //
2.第二种 /* … */
数据类型和变量
1.数据类型
number JavaScript 不区分整数和浮点数 123 0.456 1.2345e3都是合法的number数字类型
2.字符串 单引号或者双引号
3.布尔值 true和false
&&运算是与运算 只有结果都为true是才为true
|| 运算 只要一个为true就为true
!单目运算符 !true 就是flase !(2>5)结果为true
4.比较运算符
== 自动转换数据类型再进行比较`
=== 不自动转换类型 如果数据类型不一致的时候 则会返回false 一般使用这个 注意浮点数的比较方式 利用作差的方式进行比较alert(Math.abs(1/3-(1-2/3))<0.0000001);注意!!!!浮点数在运算过程中会产生误差,因为计算机无法精确表示无限循环小数。要比较两个浮点数是否相等,只能计算它们之差的绝对值,看是否小于某个阈值:
5.数组
数组是一种按顺序排列的集合,集合的每个值称之为元素。
数组用[]表示 元素之间用,进行分割 两种方式 1.[123,‘小林子’,true] 2.new Array(1,2,3);建议使用第一种方式 注意索引值为0 访问方式 数组名字[索引序号]
6.对象
JavaScript对象是一组由键值对组成的无序集合
var person={`
name:'bob', age:20, tags:['js','web','mobile']
};
获取对象的方式 对象变量.属性名
// person.name // ‘bob’
字符串
1.JavaScript 的字符串使用 ‘ ’ 和 “ ” 括起来的字符来进行表示
使用转义字符表示 ’ I’m " ok "! '; 输出为 I’m “ok”!
2.多行字符串
` 这是一个多行字符串`
3.模板字符串
var name=‘小米’;
var age=20;
表达方式一 var massage = ’我是‘+name+‘年龄’+age;
表达方式二 var massage = \` 你好,${name},年龄${age}岁了! `
alert(massage);
4.操作字符串
var s='hello' ; s.length; // 4
4.1获取某个指定的字符串 可以使用Array类似的下标操作
var s=‘hello’
s[0]; // h
s[1]; // e
4.2 转换大小写以及常用操作
toUpperCase()转换成大写
toLowerCase()转换成小写;
indexOf() 搜索指定字符串出现的位置;
ubstring() 返回指定索引区间的子串;
var s='heLLo, woRd';
console.log(s.indexOf('w')); // 6`
console.log(s.toLowerCase()); // hello,word
console.log(s.toUpperCase()); // HELLO,WORD
console.log(s.substring(1,3));// 从索引1开始 不包括3 返回 eL || substr()包括最后eLL
console.log(s.substring(3));// 从索引3开始到结束 Lo, woRd
截取路径中的目录 案例
var s='/web/home/index.php';
pos= s.lastIndexOf('/');
dir= s.substr(0,pos);
console.log(dir);
数组
1.基本属性
1.1 访问Array数组的长度 直接访问length属性
注意:如果 修改length属性|赋值操作 都会对原来的数组直接进行修改
1.2 同时可以用 indexOf( )函数 来进行搜索指定元素
1.3 slice()函数用法
slice() 对应字符串substring()版本 截取数组的部分元素 返回一个新的数组对象
slice()如果不给任何参数 可以起到复制数组的作用
var arr=['a','b','c'];
console.log(arr.slice(0,2));// 从下标0开始到2 不包括2 ab
console.log(arr.slice(1)); // 从下标1开始到最后 输出bc
var copyarr=arr.slice(); // 起到复制数组的作用
console.log(copyarr); // abc 但是 copyarr === arr 结果是false
1.4 push和pup操作
push()向
Array的末尾添加若干元素,
pop()则把
Array`的最后一个元素删除掉:
var arr=['a','b','c','d'];
arr.push('e');
console.log(arr);// abcde
arr.pop();arr.pop();arr.pop();
console.log(arr);// ab
1.5 unshift和shift方法
如果希望在数组头部添加元素 则使用unshift( )方法,而shift()方法则把数组对象的第一个元素删除.
var arr=['a','b','c','d'];
arr.unshift(5);
console.log(arr); // 5abcd
arr.shift();arr.shift();arr.shift();
console.log(arr); // cd
1.6 其他常用操作
sort( ) 可以对数组进行排序 按照默认进行排序。
reverse( ) 把整个数组元素进行反转:
splice( ) 是修改数组的万能方法 从指定索引开始删除若干元素 然后再从该位置添加若干元素
var arr=['Java','css','JavaScript','b'];
arr.splice(1,2);// 从索引1开始删除2个元素
arr.splice(2,0,'vue','mysql'); // 只添加 不删除
console.log(arr);
concat( ) 把当前的数组和另一个数组相连接,并返回一个新的数组
var arr=['Java','css','JavaScript','b'];
var arr2=['qq','wx'];
console.log(arr.concat(arr2)); // java css javascript b qq wx
join( )
可以把当前数组的每个元素用指定字符串连接起来 然后返回
使用方法 arr.join('-');
对象
JavaScript的对象是一种无序的集合数据类型,由若干个键值对组成 可以描述现实世界的某个对象
一般来说 JavaScript 用{…}来表示一个对象 键值对以 xxx:xxx 来 表示 用 , 隔开
注意:最后一个键值对不需要末尾加逗号
使用方式
var xiaolin={
name:'小林',
birth:2000,
age:20,
height:170,
score:null
},
xiaohua={
name:小花,
'school':'236520'
}
console.log(xiaolin.name); // 小林
console.log(xiaohua['school']); // 小花
1.常用操作
自由删除和添加一个对象 [delete 删除]
如何判断此属性在对象中
1.可以用 in (注意如果对象是继承的也会是true)‘ 属性名’ in 对象名
2.用hasOwnPropertyconsole.log(xiaolin.hasOwnProperty('name'));
条件判断
if ( ) { } else { } 条件判断 ||| 多条件判断
if语句的执行特点是二选一,在多个
if...else...
语句中,如果某个条件成立,则后续就不再继续判断了。
循环
一共有两种
1。一种是for
循环,通过初始条件、结束条件和递增条件来循环执行语句块:.
var x = 0; var i; for (i=1; i<=10000; i++) { x = x + i; } x; // 50005000 // 最常用来 利用索引来遍历数组 注意使用break来停止循环
让我们来分析一下
for
循环的控制条件:
- i=1 这是初始条件,将变量i置为1;
- i<=10000 这是判断条件,满足时就继续循环,不满足就退出循环;
- i++ 这是每次循环后的递增条件,由于每次循环后变量i都会加1,因此它终将在若干次循环后不满足判断条件
i<=10000
而退出循环。
2. for … in 循环
for
循环的一个变体是for ... in
循环,它可以把一个对象的所有属性依次循环出来:
var o={
name:'下林子',
age:18
}
// for ... in
for( var key in o){
console.log(key); // name age
}
注意 for ... in 也可以循环数组 得到的索引是字符串类型
3. while循环 (循环开始判断条件)
var arr = ['Bart', 'Lisa', 'Adam'];
var s=(arr.length)-1 ;
var i=0;
while(s>=i){
console.log(arr[s]);
s=s-1;
}
4.do … while 循环 (循环结束判断条件)至少执行一次
Map和Set
Map 键值对可以使用数字的数据类型 是一组键值对的结构,具有极快的查找速度
使用方式 需要初始化一个二维数组,或者初始化一个空Map Map具有以下方法
var m= new Map();
m.set('ss',50); // 设置一个新的key value
m.set('w',99);
m.has('w'); // 判断key-w 是否在m中 true
m.get('w'); // 获取value值 99
m.delete('w'); // 删除 key w
Set和Map相似 也是一组key的集合 但是不存储value 不存在重复key [集合类型]
要创建一个Set
,需要提供一个Array
作为输入,或者直接创建一个空Set
:
使用方法
var s= new Set([1,2,3,3,'3']);
console.log(s); // 1 . 2 .3 '3' 多的3会被过滤
s.add(5);
console.log(s); // 1 2 3 '3' 5
s.delete(2); // 删除第二个元素key
console.log(s); // 1 3 '3' 5
iterable
1.遍历Array
可以采用下标循环,遍历Map
和Set
就无法使用下标。为了统一集合类型,ES6标准引入了新的iterable
类型,Array
、Map
和Set
都属于iterable
类型。
具有iterable
类型的集合可以通过新的for ... of
循环来遍历。
使用for… of循环遍历集合
var s= new Set([1,2,3,3,'3']);
var a=['a','b','c'];
var m = new Map([[1,'x'],[2,'y']]);
for(var x of m){
console.log(x);
}
2.引入内置的foreach方法
使用方法
var a = ['A', 'B', 'C'];
a.forEach(function (element) {
// element: 指向当前元素的值
// index: 指向当前索引
// array: 指向Array对象本身
console.log(element);
});
恭喜你入门了!!!
- 来自一个向IT行业发展的小白一枚,
- 码字不易 如果对你有帮助还请点个赞
- 资源均来自于网络如有侵权还请联系删除