JavaScript

JS的两种引入方式:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js的两种引入方式</title>

    <script>
        alert('hello world')
    </script>

    <!--<script src="yinruwenjian.js"></script>-->
</head>
<body>

</body>
</html>
View Code

定义变量:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>定义变量</title>
    <script>
        var x;
        x=10;
        var y=5;
        var name='yuan',age=18,job='teacher';
        alert(name)
        alert(x);
        alert(y);
    </script>
</head>
<body>

</body>
</html>



变量命名:与python相同

python是强解释性语言,规定以 换行 为两条语句的分隔,两条语句必须分行写
python强制缩进,其他语言没有
JS不加;号,默认以换行为分隔符
    加;号,则以;为分隔符(规范“每写完一行代码,加一个;”)


// 单行注释
/*
    多行注释
*/
View Code

基础数据类型:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>基础数据类型</title>
    <script>
        var i=10;
        var f=3.14;
        var name='yuan';
        var b=true;
        console.log(typeof i,typeof f);
        console.log(typeof name);
        console.log(typeof b);
        var a;
        console.log(a,typeof a)
//        类型为underfined,而underfined类型只有一个值:undefined
//        整形,字符串有无数个值
//        布尔有两个值:true,false
    </script>
</head>
<body>

</body>
</html>




shell没有数据类型
shell为什么不能称为一个语言

基础数据类型:
整形(Number):所有数字均为整形
字符串
布尔值
undefined:当一个变量只声明未赋值时,变量类型为undefined
            当函数没有返回值时,默认返回undefined


a={"b":"c"}
python中这种数据结构为字典
JS中这种数据结构为对象,基础使用方法与python相同(a[b]=c)
每一种语言中都有这种数据结构(映射关系),但功能,用法可能不同

所有语言中用的最多的数据类型为字符串
python中最重要的数据类型是字典(功能多)
View Code

运算符:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>运算符</title>
    <script>
//        计算运算符     ++  --
    var x=10,y=10;
    x+=1;
//    y++,++y 相当于 y+=1,但只适用用于1,
    var ret=y++;    // 先赋值后计算
//    var ret=++y;    // 先计算后赋值
    console.log(x,y,ret);

//    比较运算符   ===全等于     !==不全等于
//    相当于python中==(比较数值,类型)
//    JS属于弱类型语言,==会对类型进行转换

//    逻辑运算符     &&  ||  !
//    相当于python的and or not

//    字符串运算符    +
        console.log('hello'+'world');

    </script>
</head>
<body>

</body>
</html>



print("1"==1)           python中False
console.log("1"==1)     JS中true
python是强类型语言,"1"为字符串,1为数字
JS为true,说明JS对类型进行了转换,将1转换为字符串(弱类型语言会对类型进行转换)
View Code

流程控制:

流程控制:

顺序:一行一行执行

分支:
    if分支:
        python:
            if 表达式:
                语句体1
            else :
                语句体2
        JS:
            if(表达式1){
            语句体1
            }else if(表达式2){
            语句体2
            }else{
            语句体3
            }
    switch分支:(python中没有,因为字典可以替代"{case:alert}")
        var week=2;
        switch(week){
            case 1:alert(1);
            case 2:alert(2);
            case 3:alert(3);break;
            case 4:alert(4);break;
            default:alert('未找到匹配内容');
        }
        当时别到相匹配的case时,开始逐行执行代码,直到执行结束
        当未找到匹配内容时,执行default

循环:(条件循环,遍历循环)
python中,for为遍历循环;while为条件循环
JS中,while为条件循环;for有两种表达形式,可分为条件循环和便利循环
    for循环1:(条件for循环)(三要素:初始变量,条件,自增/自减)(推荐使用)
        for(var i=0;i<10;i++){
            console.log('OK')
        }
    for循环2:(遍历for循环)(在处理DOM时,会有问题)
        var arr=[1,2,3];        //数组,功能与python列表类似
        // console.log(arr.length)
        for(var i in arr){
            console.log(i,arr[i])
        }
    while循环:(条件循环)
        while(表达式){
        循环体
        }
View Code

字符串对象:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>字符串对象</title>
<script>
        var s="hello world";
        // 有两种实例化字符串对象的方式

         console.log(s.length);         // 打印字符串长度
         console.log(s.toUpperCase());  // 字符串大写
         console.log(s.charAt(3));      // 通过索引找字符
         console.log(s.indexOf(3));     // 通过字符找索引(从左到又)

         console.log(s.substr(2,2));     // 按长度截断
         console.log(s.substring(2,4));  // 按位置截断

         console.log(s.replace("world","egon"));    // 替换
         console.log(s.split(" ")) ;  // ["hello", "world"]     // 切成 数组 形式
</script>
</head>
<body>

</body>
</html>
View Code

数组对象:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>数组对象</title>
    <script>
//        数组的两种定义方式:
        var arr=[111,'hello',true];       // python与js可以存放任意数据类型;C语言只能固定放某一种数据类型
//        var arr=new Array(11,'hello',true)    实例化Array类,产生arr对象
        console.log(arr,typeof arr);


//        join方法(字符串拼接)
//        python中字符串拼接
//              s1='hello'  s2='world'  ret='-'.join([s1,s2])  print(ret)
        var s1=['hello','world']
        var ret=s1.join('-')
        console.log(ret)


//        concat方法(数组拼接)
        var s2=['hello','world']
        console.log(s2.toString())          // 转化为字符串   hello,world
        console.log(typeof s2.toString())


//          reverse sort方法
//        var arr=[12,100,89,34];
//        console.log(arr.reverse());  // 反转 [34, 89, 100, 12]
//        console.log(arr.sort());     // 按首字母ASCII进行比较
//

        function Mysort(x,y) {
            return x-y
        }
        var a=[12,100,89,34];
        console.log(a.sort(Mysort));
//        [12, 34, 89, 100]         按数字大小排列


       // 切片 slice
//        var arr1=['a','b','c','d','e','f','g','h'];
//        console.log(arr1.slice(2,4) ) ;   //  ["c", "d"]
//        console.log(arr1.slice(4) ) ;     // ["e", "f", "g", "h"]
//        console.log(arr1.slice(4,-1) ) ;  // ["e", "f", "g"]


        //  push pop方法(对原数据进行修改)(在最后修改)

//        var arr5=[11,22,33];
//        arr5.push(44);
//        console.log(arr5);         // [11, 22, 33, 44]
//
//        arr5.push(55,66,77);
//        console.log(arr5);          // [11, 22, 33, 44, 55, 66, 77];
//
//        var ret=arr5.pop();        // 有返回值,返回与删除最后一个元素
//        console.log(arr5);          // [11, 22, 33, 44, 55, 66]


         // unshift shift     添加,删除(有返回值)(在最前面修改)

//        var arr5=[11,22,33];
//
//        arr5.unshift("hello");
//
//        console.log(arr5);         //  ["hello", 11, 22, 33]
//
//        arr5.unshift(44,55);      //  [44,55,"hello", 11, 22, 33]
//        console.log(arr5);
//
//        var b=arr5.shift();
//        console.log(b);
//        console.log(arr5);         // [55, "hello", 11, 22, 33]

    </script>
</head>
<body>

</body>
</html>
View Code

日期对象:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>日期对象</title>
    <script>
//        var date=new Date();
//        console.log(typeof date,date) ;          // 日期对象,获取当前时间
//        console.log(typeof date.toLocaleString(),date.toLocaleString())      // 日期字符串,
//        console.log(date.toLocaleString().substr(0,10))         // 对时间字符串进行截取

//        创建具体时间
        var data=new Date('2012/12/12');        // 分隔符不同,指定的时间有差异

//        获取时间片信息
        console.log(data.getFullYear())          // 获取完整年份
        console.log(data.getYear())
        console.log(data.getDate())
        console.log(data.getMonth())            // 月份对应 0--11


    </script>
</head>
<body>

</body>
</html>
View Code

math对象:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>math对象</title>
    <script>
        console.log(Math.max(11,22,33,443))         // 取最大值
//        JS封装好的Math对象,直接调用下面的max方法,
        console.log(Math.floor(3.74))               // 向下整数
        console.log(Math.ceil(3.14))                // 向上取整
    </script>
</head>
<body>

</body>
</html>
View Code

 

posted on 2018-01-04 15:49  二十四岁半  阅读(182)  评论(0编辑  收藏  举报

导航