JS的基础
-
首先说ECMAScript 是一种标准的定义语法规范
-
JAVAScript 是ES的实现 包含了ES和DOM和BOM事件等
-
JS的引入方式
外部引用:
-
命名规范:驼峰命名 (大写/小写) GetMsg/getMsg
-
不能作为变量名的:get / set / count / length / name… 变量
-
变量 var 变量名 =‘值’ 表达式 会产生一个值 var num=0 所有的变量相当于给window 兑现设置属性console.log(window)
-
数据类型: 基本数据类型:(原始值类型) 字符串 string 数值型 number 布尔值 boolean 未定义undefined 空值空对象null
-
引用数据类型:(对象) object \反斜杠是转义符
1.对象: 对象(复合的数据类型)键值对的形式对象可以是一个无序的集合 例子:var obj={ name:"1"; age:20, sex:'女', child:{name:"2";age:20,sex:'女',}, getEat:function(){ //方法conslog.log(“要吃饭"); } } //而getEat是对象的一个函数(方法)
数据类型的转换 输入输出
var inp=prompt('请输入一个数字·,999)//输入框
confirm(你给我)//确认框返回值是true/false
alert(‘警告’)//警告框没有返回值
console.log(inp);//控制台输出
console.log(typeof inp);//控制台输出
document.write(”这是打印在页面上的")
转数值型 Number()看每一位是否是数值如果不是直接报NaN(Not a Number )
var inp=prompt('请输入星期')
console.log(inp,typeof inp);
inp=Number(inp)
console.log(parseInt();//NaN
console.log(parseInt("'));//NaN
console.log(parseInt(false));//NaN
console.log(Number();//0
console.log(Number(''));//0
console.log(Number(false));//0
console.log(Number(null));//0
console.log(Number(undefined));//NaN
转字符串 String
var a=30
console.log(a,typeof a);
a=String(a)
console.log(a,typeof a);
转布尔值
console.log(Boolean(1));//true
console.log(Boolean(0));//false
console.log(Boolean(null));//false
console.log(Boolean(undefined));//false
console.log(Boolean());//false
console.log(Boolean(''));//false
console.log(Boolean(' '));//true
console.log(Boolean('wa sd '));//true
console.log(Boolean('0'));//true
隐式类型转换
console.log(1+false);//1 (+是隐式关键)
console.log(1+'20');//'120'
字符串拼接
var a=10,b=20,c='5'
console.log(a+b);
console.log(a+c);//字符串拼接
console.log(a+b+c);//305
console.log(c+b+a);//52010
运算符 + - ++ – %
var a='20'
var b=-30
console.log(+a);求正值,-并且转换为数字
console.log(-b);
//逻辑运算符关系运算符赋值运算符条件运算符
var a='20'
a++
console.log(a);21 ++ -- + - 具有隐式转换功能
关系运算符工
关系运算符><>= <= == === != !== 返回一行I布尔值
var a=10,b='10',c=20
console.log(a>c);false
console.log(a<=c);true
console.log(a>=b);//true
console.log(a==b);//true 只比较值
console.log(a==-b);//false 全等比较值和类型
console.log(a!=b);//false
console.log(a!==b);//true
// console.log(O==false); //true
// console.log(O===false);//false
//console.log(null==O);//false
//console.log(null==false);//false
l/ console.log(null==undefined);//true
//console.log(null==null);//true
//console.log(undefined==undefined);//true
// console.log(0==undefined); //false
//console.log(false==undefined); //false
l/ console.log(NaN==NaN);//false NaN不等于任何值
l/console.log('a'>'b');//比较的是ascll值
逻辑运算符
逻辑运算符与&&或||非!
var a=10,b='20',c=5
console.log(a>=b 8& a>=c);//false &&全真为真一假则假
console.log(a>=b ll a>=c); //true||全假为假一真则真
console.log(!!!la);//false
赋值运算符= -=*=/=%=
var a=10
var b='20'
b=a
console.log(a,b);
a+=b//a=a+b
console.log(a);
console.log(a*=b);//a=a*b
var a=5,b='10' , c='hello world',d=' world'
console.log(a-b);//
console.log(c-d);//
逻辑运算符与&&或||非!
var a=10,b='20',c=5
console.log(a>=b 8& a>=c);//false &&全真为真一假则假
console.log(a>=b ll a>=c); //true||全假为假一真则真
console.log(!!!la);//false
赋值运算符 = -==/=%=
var a=10
var b='20'
b=a
console.log(a,b);
a+=b//a=a+b
console.log(a);
console.log(a*=b);//a=a*b
var a=5,b='10' , c='hello world',d=' world'
console.log(a-b);//
console.log(c-d);//
条件运算符
条件运算符 三元运算三目运算条件?语句1:语句2
var a=10,b=20
a>b?alert('a>b'b
var a=10,b=20
a>b?alert('a>b'):
条件运算符/三元运算三目运算条件?语句1:语句2
var a=10,b=20
a>b?alert('哈哈哈'):(a<b?alert('呵呵呵'):alert(嘿嘿嘿'))
if 条件语句
if(){
...
}
else{
...
}
语句和表达式的关系
分支选择结构
单分支 选择结构
if(条件){
条件为真,执行此代码
}
双分支 如果…否则…
if(条件){
条件为真,执行此代码
}else{
条件为假,执行此代码
}
多分支 如果…否则如何…否则…
if(条件){
条件为真,执行此代码
}
else if(条件){
条件为真,执行此代码
}
else{
条件为假,执行此代码
}
swith分支
swith(变量){
case 值1:语句1;break;
case 值2:语句2;break;
case 值3:语句3;break;
default :默认语句;
}
s