2018-08-18 day05 js基础

2018-08-18  本文已影响0人  Kris_Shin

JS基础语法

js中的注释

//这是单行注释
/*
 这个是多行注释
 */

2.语句

3.js没有缩进问题,用{}表示一个块

4.基本数据类型

console.log('hello world');
console.log('你好,python');

5.字面量

    89;
    100;
    10.34;
    3e8;
'abc';
"abc";
true;
false;
[1,2,'ban',true];
[];
var dict = {a:'abc', b:'hh'};
//console.log(dict.a, dict['b']);

6.标识符

使用标识符来命名

    var s8uu_$;
    //var for

变量声明

1.语法

var 变量名
var 变量名=初值
说明 var是关键字:
    变量名:标识符,不能随意使用_或者$开头;驼峰式命名规则

运算符

1.数学运算符:+, -, *, /, %, ++, --

var a = 10+20;
var b = 20 - 10;
var c = 10*20;
var d = 7 % 2
var e = 5/2
console.log(e)
/*
 * 语法: 变量++/变量-- ; ++变量/--变量
 * ++: 自加一
 * --:自减一
 */
var a1 = 10
var b1 = 10
a1++
++b1
console.log(a1,b1) // 11, 11

a1--
--b1
console.log(a1, b1) // 10, 10

var c1 = a1++    // ++/--写到后面的时候,先赋值,再自加/自减
var c2 = ++b1    // ++/--写到前面的时候,先自加/自减,再赋值
console.log(c1, c2)   

2.比较运算符: >,<,==(相等),!=, >=,<=, ===(完全相等), !==,>==, <==

console.log(10 > 20)  // false
console.log(10<20) 
console.log(5==5)   //true
console.log(5=='5')  //true
console.log(5===5)  //true
console.log(5==='5')  //false

console.log(5!=5, '5'!=5)  //false,false
console.log(5!==5, '5'!==5) //false,true

3.逻辑运算符:&&(与), ||(或), !(非)

console.log('与:',true && true, true && false)
console.log('或',true || false, false || false) 
console.log('非',!true, !false)  

4.赋值运算符: =, +=, -= , *=, /=, %=

var a = 100;
a += 10  // a = a+10
a -= 10
a *= 10
a /= 10
a %= 10
console.log(a)

5.三目运算符

/*a.格式:
 * 条件语句 ?值1 : 值2;
 * b.结果:
 *判断条件语句的结果是否是true,如果是true,那么表达式的结果就是值1,否则是值2
 */
var b = true ? 10:20;
console.log(b)
var a1 = 80
var a2 = 100
console.log(a1 > a2 ? a1:a2)

分支结构

1.if语句

var age = 18
if(age>=18){
    console.log('成年')
}
if(age>=18){
    console.log('成年')
}else{
    console.log('未成年')
}
if(age<18){
    Console.log('未成年')
}else if(age<40){
    console.log('青年')
}else{
    console.log('老年')
}

2.switch语句

switch(变量){
case 值1:
    语句1;
    break;
case 值2:
    语句2;
    break;
...
default:
    语句3;
    break;  
}
var score = 10;
switch(score){
    case 1:
        console.log('F');
        break;
    case 10:
        console.log('A+')
        break;
    case 9:
        console.log('A');
        break;
    default:
        console.log('其他');
        break;      
}
console.log('======')
score = 9
switch(score){
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        console.log('不及格');
        break;
    case 6:
    case 7:
        console.log('及格');
        break;
    case 8:
    case 9:
        console.log('良好');
        break;   // switch中的break,可以让switch直接结束
    case 10:
        console.log('优秀');
        break;
}

//0-6表示星期1到星期日

var week = 0;
switch(week){
    case 0:
        console.log('周一');
        break
    case 1:
        console.log('周二');
        break;
    case 2:
        console.log('周三');
        break;
    case 3:
        console.log('周四');
        break;
    case 4:
        console.log('周五');
        break;
    case 5:
        console.log('周六');
        break;
    case 6:
        console.log('周日');
        break;
    default:
        console.log('其他情况')
    
}

循环结构

1.for循环

var arr1 =  [1, 2, 'abc']
for(var x in arr1){
    console.log(arr1[x])
}

var obj1 = {name:'张三', age:30}
for(var key in obj1){
    console.log(key, obj1[key])
}

var str1 = 'abcdef'
for(var x in str1){
    console.log(x, str1[x])
}
var sum = 0
for (var i = 1; i < 101 ; i++) {
//  console.log(i)
    sum += i
}
console.log(sum)

var sum1 = 0
var i = 0
for (; i < 101; ) {
    sum1 += i
//  i++;
    i += 1
}
console.log(sum1)

2.while循环

var sum2 = 0
var i = 1
while(i <= 100){
    sum2 += i;
    i++;
}
console.log(sum2) 
var sum2 = 0
var i = 1
do{
    sum2 += i;
    i ++;
    
}while(i <= 100);
console.log(sum2) 

3.break和continue(和python一样)

函数

1.函数的声明

保证每个参数都有值

function sum1(num2, num1=1){
    console.log('求两个数的和')
    return num1 + num2
}

console.log(sum1(10,20))
console.log(sum1(10))
//console.log(9/0)

//函数没有return的时候,函数的返回值是undefined
function func1(){
    console.log('我是函数1')
}
console.log(func1()) 

2.函数的调用

1.回到函数声明为止
2.传参
3.执行函数体
4.返回结果
5.返回函数调用位置

3.作用域

//aaa就是全局变量
var aaa = 10

function func2(){
    //bbb就是局部变量
    var bbb = 100
    console.log(bbb, aaa)
    //函数中可以修改全局变量的值
    aaa = 200
    
    //函数中可以声明函数
    function func22(){
        bbb = 1.1
        console.log(bbb)
    }
}

func2()
//console.log(bbb)
console.log(aaa)

//可以将函数作为变量
var a = func2
a()

//个数不定参数,js不支持

数据类型

1.数字:包含整数和小数(支持科学计数法)

var num1 = 10
var num2 = new Number()
console.log(num2+10)  

2.字符串

var str1 = 'abc'
var str2 = "abc"
var str3 = '\n'
var str4 = '\\'
console.log(str1.length)

js中的字符串不能切片

console.log(str1[0])
console.log('123'+'abc', 'abc'+100) 
var strstr = 'abc123'
var re = strstr.replace(/\d+/i,'ooo')
console.log(re)

3.对象,构造方法(类)

var obj1 = {name:'YuTing', age:18}
console.log(obj1.name, obj1['name']) 

//声明构造方法
function Person(name='', age=0, sex=''){
    this.name = name
    this.age = age
    this.sex = sex
}

var p1 = new Person()
p1.name = 'mmm'
p1.age = 20
console.log(p1, typeof(p1))
上一篇下一篇

猜你喜欢

热点阅读