JS基础1

创建变量 储存信息

let age=27;  age=31; console.log(age);

//JS 注释

const ponts=50; //常量不能进行赋值

let myAge ;

变量必须以字母 $ _开头 尽量语义化 多单词以小驼峰约定

数据类型

变量的作用就是存储数据       

数字 Number      1,2,500

字符串 String    "h"

布尔Boolean     true/false

Null             没有值的变量
      
未定义Undefined  尚未定义的变量 
对象Object     数组日期,对象字面量,函数等   引用数据类型
Symbol      ES6引入的原始数据类型,表示独一无二的值,常用于对象

String

//字符串
console.log('HELLO');
let email='1@qq.com';
console.log(email);
//字符串;连接
let firstName='Summer';
let lastName='Peng';
let fullNmae=firstName+ ' ' +lastName; //加空格
console.log(fullNmae)

//获取字符 
console.log(fullNmae[3]); //下标计算从0开始
 //获取字符串长度
 console.log(fullNmae.length); //添加了空格字符串 长度为11
 //字符串方法
 //大小写转化
 console.log(fullNmae.toUpperCase()); //toUpperCase大写 
console.log(fullNmae.toLowerCase()); //toLowerCase小写
 let index=email.indexOf('@');  //返回字符的下标  为 -1 为不存在
 console.log(index);

 //字符串常见方法
 let password='Ms123456M';

 let results=password.lastIndexOf('5'); // 字符最后一次出现的位置
 console.log(results)

 let results1=password.slice(0,3) ; //截取  包含起始下标 不包含终止下标
console.log(results1)
 
let results2=password.substr(2,5);  //第一个参数 是从第二个开始,5代表长度
console.log(results2)

let results3=password.replace('M','m') ;//第一个为查找 第二个为替换  只会处理第一个匹配的字符
console.log(results3)

数字

//数字
let radius=10;

const pi=3.14;

console.log(radius,pi)
//数学运算符 +  -  *  /  **  %

console.log(radius / 5);

let result= radius %3; //余数

let result1=pi*radius**2; // 求幂 300
console.log(result1);
//运算顺序 法则  B(括号) I(次方)  D(除法) M(乘法) A(加法)  S(减法)
let result2=3*(10-5) **2;  //75
console.log(result2)

// 速写方法 ++ -- +=....
let likes=5;
// likes=likes+1
likes++;
likes--;

likes +=10; //加10

likes -=10; //减10

likes /=2; //除以2

likes *=2;//乘以2

//NAN  Not a Number
console.log(10/'summer'); //NAN

//数字的 拼接 

let result3= '文章当中出现了'+likes+'个likes';

console.log(result3)

模板字符串

//模板字符串
const title='JS的前世';
const  names='zt';
const likes=100;

//+进行串联
let result=names+'写的'+title+'获得了'+ likes + ' 个毛';
console.log(result);

//模板字符串

let result1 =`${names}写的${title}获得了${likes}个毛`;
console.log(result1)

//创建html模板

let html=`
 <h2>${title}</h2>
 <p>${names}</p>
 <span>获得了${likes}个毛</span>
`;
console.log(html)

数组

//数组
let users=['summer','lucy','henry'];

console.log(users);

//获取字符
console.log(users[1]);

let age=[25,28,32];
console.log(age[0]);

//属性和方法

console.log(users.length);//打印长度

let result=users.join(','); 
console.log(result) //summer,lucy,henry

let result1=users.indexOf('lucy') ;// 找出字符存在下标1   不存在返回-1

// 数组串联
let result2=users.concat(['John','LiLy'])//['summer', 'lucy', 'henry', 'John', 'LiLy']  
// push 对数组进行尾部的添加  //pop对尾部的删除
let result3=users.push('John') ; //返回的是数组的新长度 4  push会破坏原始值

let result4=users.pop(); //返回的是删除对象的值 John

null 和 undefined

let  age;
//undefined 表示值的缺失 定义了 没给分配值 
let  age1=null; //进行赋值 空值  常用于清空

console.log(age,age+5, `我的年龄是${age}`); //undefined NaN '我的年龄是undefined'

console.log(age1,age1+5, `我的年龄是${age1}`); //null 5 '我的年龄是null'

布尔值 比较运算符

//布尔值
console.log(true,false,'true','false');
//某些方法返回布尔值
let email='106767@qq.com';

//includes includes() 方法用于判断字符串是否包含指定的子字符串   如果找到匹配的字符串则返回 true,否则返回 false。
let result=email.includes('@'); //true
let names=['Summer','Lucy','Henry'];


console.log(result);

//比较运算符
let age=30;

console.log(age == 30); //双等号 比较 单等号赋值
console.log(age != 30); 
console.log(age > 30); 
console.log(age <= 30); 

let user ='summer';

console.log(user== 'summer');

console.log(user >'crystal'); //true   第一个字母比较 S排在C后面

console.log(user >'Crystal'); //大写字母代码 都小于 写小写字母 
console.log("2">"12") ;// true    当比较2个字符串时 按照字母排序 1<2
console.log("2">"zt") ;//          zt保持为false的NAN

== === 松散比较 严格比较

let age =20;
//松散比较(不考虑类型,只考虑值是否相等)
console.log(age ==20); //true
console.log(age == '20'); //true
console.log(age !=20);//false
console.log(age !='20');//false

//严格比较*(类型和值都要考虑)
console.log(age=== 20); //true

console.log(age==='20'); //false
console.log(age !==20); //false
console.log(age !=='20');//true

类型转换

//类型转换
let score='59';

//显示转换
console.log(score+1);//591
console.log(score-1);//58 如果两个数字型的字符串相减,或者其中一个为字符串时 自动转换为数字类型的进行运算
console.log(1-score);//-58
score=Number(score);
console.log(score+1,typeof score);//60 'number'

let result=Number('Hello');
let  result1=String(50);
console.log(result);//NAN
console.log(result1,typeof result1); //50 string
//Number类型进行布尔值转换的类型中 除了0 都是 true
let result2 =Boolean(0);
console.log(result2,typeof result2) //false 'boolean'

//字符串转换成布尔值的时候 只要这个字符串 有长度 都为true
let result3 =Boolean('0');
console.log(result3)

let result4 =Boolean('');
console.log(result4) 


//隐式转换  隐式转换就是自动转换

类型转换 分为显示转换和 隐式转换

JavaScript 中,表达式中包含以下运算符时,会发生隐式类型转换:

算术运算符:加(+)、减(-)、乘(*)、除(/)、取模(%);
逻辑运算符:逻辑与(&&)、逻辑或(||)、逻辑非(!);
字符串运算符:+、+=。
隐式转换规律:

'string + number’字符串加数字,数字会转换为字符串;
‘number - string’ 数字减字符串,字符串会转换为数字,如果字符串无法转换为数字(例如"abc"、“JavaScript”),则会转换为 NaN;
'string - number’字符串减数字,字符串会转换为数字,如果字符串无法转换为数字,则会转换为 NaN;即’优先向数字转换。
乘、除运算时,也会先将字符串转换为数字。
当字符串和数字同时存在时,除了加号运算符转化为字符串,其他减、乘和除都优先转化为数字。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值