javaScript--------基础入门(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq939782569/article/details/71216271
<body>
    <script type="text/javascript">
        alert('aaa');
    </script>

</body>

(1)html与js的结合使用
alert语句相当于java中的system.out.println,android 中的dialog性质的输出语句。

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="hello.js" >

</script>
</head>
alert('bbb');//hello.js文件放在同一目录下

(2)html引入外部的hellojs进行调用结合使用

<body>
<script type="text/javascript">
 //1 变量声明
    var num = 10;
    var str = 'haha';//"haha" 没有区别
    //变量声明使用var
    //变量区分大小写  str 和 STR 不是同一个变量
    //字符串使用  双引号 或 单引号包裹 都可以.
    num = "hello";//变量的类型可以随时改变.
    //命名规则 
 //2 行尾使用";" 作为一行的结束符号.(可以没有";",以折行符(回车)作为一行的结尾.)(不推荐)
    var num2 = 20
 //3 js中的注释有两种 单行,多行
    // 单行注释"//"
    // 多行注释 "/* */"
    // 没有文档注释
 //4 封装代码块 与 java一样,使用{}.
 //5 变量声明时,前缀var 也不是必须的.
     //加var 和 不加 var 有什么区别?
     // 如果不使用var,那么该变量是全局变量
    function fun1(){
        var a = 10;
        b = 100;
    }
    fun1();
    alert(b);
</script>

</body>

(3)js的基本语法,以上有注释我就不一一介绍了。

<script type="text/javascript">
var num1 = 10;
var num2 = 3.14;
var str1 = 'a';
var str2 = "hello";
var b = true;
var c;
var d = null;
//typeof

alert(typeof num1);//number
alert(typeof num2);//number
alert(typeof str1);//string
alert(typeof str2);//string
alert(typeof b);//boolean
alert(typeof c);//undefined
alert(typeof d);// object
//为什么null返回object?
        //是js中的一个bug,这个bug 被认为很贴切.所以保留了该bug.

</script>

</body>

(4)js中的原始数据类型,以及判断符的操作判断数据类型

<body>
<script type="text/javascript">
//一元加法 ==> java中 类型转换需要自己准备. ==> js 自带类型转换.==> js很随便
    var a = +"123";
    //alert(typeof a);//number

    var b = -"123"; // -123

    var c = +"abc"; // 还是会进行类型转换,转换失败.

    alert(typeof c);
    alert(c);//转换失败之后,会返回NaN. not a number. NaN也属于number.
</script>

</body>

(5)js中的运算符,以及类型转换的常见操作。

<body>
<script type="text/javascript">
//boolean运算符
    /*  if(NaN){
        alert("true");
    }else{
        alert("false");
    }  */
    //转换规律 (重点)
    //string ==>  ""==>转换为false 其他都为true;
    //number ==>  除了NaN,+0和-0.其他都转换为true.
    //null ==>  false
    //undefined ==> false


    //NaN特性:
            //1 NaN参与的任何boolean运算返回值都是false. 除了!=
            /* alert(6>NaN);//false
            alert(6<NaN);//false
            alert(6==NaN);//false
            alert(NaN == NaN);//false */
    //因为undefinednull衍生出的,所以 
        alert(undefined == null);// true
</script>

</body>

(6)js中boolean类型的判断,几个特别的类型

<body>
<script type="text/javascript">
    alert(11>3);//true
    //当运算符两端 , 一端是数字,一端是其他类型时, 其他类型会自动向数字类型转换
    alert("11">3);// true
    alert(11>"3");//true
    //字符串在进行比较时 ,规律是: 比较首字符asc码. 如果一样,比较第2位...
    alert("11">"3");// true
    alert("11">"1");// true
    alert("abc">11);//false
</script>

</body>

(7)js中的判断非常的无规律,是缺点也是js最大的优点。

<body>
<script type="text/javascript">
    //1 js中的函数对象
    //java中方法,函数 //public void xxx(){}
    //function fun1(){} ==> 这是定义对象.特殊之处,就是想java中的方法一样,可以执行.
        //方式3
        function fun1(){
                alert('aaa');
            }
        alert(fun1.toString());//函数对象的toString方法,打印函数的完整定义
    //js中函数对象的创建方式
        //方式1 ==> 函数对象的构造方法中,最后一个参数是定义函数的体.之前所有参数都是定义函数的参数
        var fun2 = new Function("a","b","alert(a+b);");
        function fun2(a,b){
            alert(a+b);
        }
        //方式2 
        var fun3 = function (){
            alert('bbb');
        }
    //问题如下:观察如下代码,查看是否有问题!
        function a(a,b){
        alert(a+b);
    }
        var c = 1;
        var b = 2;

        a(c,b);

</script>

</body>

(8)ECMA中js的对象的定义,有注释,大家自行运行看结果。

<body>
<script type="text/javascript">
    //1 js中的函数对象
    //函数的调用
        function fun1(a,b){
        alert(a+b);
        }

        /*f un1(1,2);//3
        fun1(1,2,3);//3
        fun1();//NaN */

        //js中函数的调用只看函数名称.不看参数列表
    function fun2(){
            //alert(arguments.length); //取得实际参数个数
            alert(arguments[0]); // 获得第一个实际参数
        }
        //函数中的内置对象 arguments
        //arguments ==> 代表函数运行时的实际参数列表.
        /* fun2(); //0  undefined
        fun2(1,2); //2 1
        fun2(1,2,3); //3 1 */

    // js中存在函数的重载吗? 如何重载?
            function fun3(){
                alert('aaa');
            }
            function fun3(a){
                alert('bbb');
            }
        //如上不能重载,是覆盖
            function fun4(){
            if(arguments.length == 2){
                alert(arguments[0]+arguments[1]);
            }else if(arguments.length == 3){
                alert(arguments[0]+arguments[1]-arguments[2]);
            }

        }


        fun4(1,2);//3
        fun4(1,2,3);//0

        //以上是重载.



</script>

</body>

(9)这个就比较有意思了,注意arguments数组,与js的重载,是不是非常的那个6啊。

<body>
<script type="text/javascript">
//---如果函数没有显示指定返回值 那么函数返回值为undefined.
/*  function fun1(){}
    alert(fun1()); */
//-----------------------------------
//使用return 关键字,返回内容
     function fun2(a,b){
        alert('fun2');
        return a+b;
    }
    //alert(fun2(1,2));//3 
//return 关键字,在js中也可以作为结束方法运行的功能.
    function fun3(){
        alert('aaa');
        return ;
        alert('bbb');
    }
    //fun3();
//--运算符 void()的使用-----------
//用来拦截函数的返回值的.
    //alert(void(fun2(1,2)));//undefined

</script>
    <a href="javaScript:void(fun2(2,3))" >点我</a>
    <br/>
    <a href="javaScript:void(0)"  >点我</a>
</body>

(10)js中对象的返回,其实说是对象还不如说成是函数,我是这样想的,不知道大家同意不同意。
今天就把笔记写到这里,明天还得项目重构,利用业余时间多学一点,总是有好处的。

展开阅读全文

没有更多推荐了,返回首页