• 0814JavaScript简介、基本语法、运算符、转换


    一、JavaScript简介

    1.JavaScript是个什么东西?

        它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件。

    2.它与Java什么关系?

        没有什么直接的联系,Java是Sun公司(已被Oracle收购了),JavaScript是netspace(网景公司,已被美国在线收购了),JScript是微软的,90%像JavaScript,一些功能只能在IE上使用。

    3.它的用法:

        在HTML中位置有三块:

        (1)head里面

        (2)body里面

        (3)</html>之后

        为了保险起见,一般写在</html>之后。

    <script language="javascript">代码必须放在这里面</script>

    4.三个常用对话框:

        alert("")警告对话框,作用是弹出一个警告对话框。

        confirm("")确定对话框,作用是弹出一个可供选择的确定对话框,点击确定之后,它返回ture,点击取消返回false,可以用变量来接收。

        prompt("要显示的提示文字"),作用是弹出一个可以输入内容的对话框。

    二、JavaScript语法

    1.基本数据类型:

        字符串、小数、整数、日期时间、布尔型等。

    2.变量:

        都是通用类型var,可以随便存储其它类型的值,可以直接使用,不用定义。但习惯上定义。

    定义变量: var a;    //所有变量定义都用var定义,var是通用的可变类型。

    var s = "3.14"; var n = parseFloat(s); ; s += 5;
    var d = parseInt(s);

    3.数组:

        数组的定义:new Array();    //它的长度是动态变化的,里面可以放任意类型的元素。

        数组元素的赋值:a[0]=123; a[1]="hello";     //元素中的索引从0开始。

        数组的取值:a[i];

        数组属性:a.length;    //数组元素的个数,长度。

        方法:a.sort();//数组排序,按照每一个元素的第一个字符进行排序。a.reverse();    //翻转数组。

    4.函数:

        函数的四要素:名称、输入、返回值、加工。

        定义函数:function add(形参){函数体}     //函数名为add,输入为参数的形式,返回值可以是var类型,也可以return一个返回值。

        函数必须经过调用才能执行。函数的调用:add(实参)。

    *放在头部也可以读取(最先读取头部)

    表单提交时会自动刷新网页,最好关掉

    写法:

    1、输出

    <script>

                                                           document.write("hello world");

    </script>

    2、按钮运用

    <input name="alert" value="alert"type="button" onclick='alert("这是触发事件")'/>

      

    3、定义变量并输出

             var bianliang;

              bianliang="123";

              document.write(bianliang);

    4、改变元素的属性

    <p id="hello">hello</p>

    <script>

                             function hello()

                             {

                                                           x=document.getElementById("hello")

                                                           x.style.color = "#ff0000";

                             }

    </script>

    <input type="button" value="点击变颜色" onclick="hello()" />

    <!--点击由黑色变红色-->

    5item索引,指示第n个出现的元素,与getElementsByName同时使用

    定义一组变量

    var student =

                             {

                                                           name:"张三",

                                                           sex:""

                             };

                             student.name="张三";

                             document.write(student.name);

    *打印张三

    外部调用JS

    <script src=””></script>

    1.类型转换:

        分为自动转换和强制转换,一般用强制转换。

        其他类型转换为整数:parseInt();

        其他类型转换为小数:parseFloat();

        判断是否是一个合法的数字类型:isNaN();

        是数字的话返回false,不是数字的话返回ture。  

    <script type="text/javascript">
    var a = prompt("请输入一个数字","只能是数字!!");
    if(a!=null)
    {
    var b = isNaN(a);
    if(b==false)
    {
    alert("输入的是一个合法数字")
    }
    else
    {
    alert("输入的不是一个合法数字")
    }
    }
    else
    {

    }
    </script>

    需要将prompt放进isNaN方法内

    2.运算符:

        数学运算符:+    -    *    /    %    ++    --;

        关系运算符:==    !=    >=    <=    >    <;

        逻辑运算符:&&    ||    !;

        其他运算符:+=    -=    *=    /=    %=    ?:;

      

    3.语句:

        一般分为顺序、分支和循环语句。

    1)分支语句if

    if(判断条件)

    {

        满足条件要执行的语句

    }

    else

    {

        不满足条件时执行的语句

    }

      

    2)循环for语句:

    for(初始条件;循环条件;状态改变

    {

        循环体

    }

      

    (3)问题类型:穷举、迭代。

    (4)两个关键词:break 和 continue。

    (5)如果要输出某一参数的值:输出的值是"+a+"和"+b"

    <script>function visible1()
    {
        $("p").hide();
    };</script></head><body><input type="button" onclick = "visible1()" value = "点这里让文字消失"/><p>我会消失。</p>

    $("id1")就相当于document.getElementById("id1")   

    实例:
    
    1.输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上数字,否则输出两数之和<br />
    
    <input type="text" id="a" /><br />
    <input type="text" id="b" /><br />
    <input type="button" value="点击" onclick="dianji()" />
    <script>
    function dianji()
    {
    var a = parseInt(document.getElementById("a").value);
    var b = parseInt(document.getElementById("b").value);
    if(a*a+b*b>100)
    {
    alert(a*a+b*b);
    }
    else
    {
    alert(a+b);    
    }    
    }
    </script>
    
    2.一个游戏,前20关是每一关自身的分数,
    //21-30关每一关是10分
    //31-40关,每一关是20分
    //41-49关,每一关是30分
    //50关,是100分
    //输入你现在闯到的关卡数,求你现在拥有的分数
    <br />
    请输入现在闯到的关卡数:<input type="text" id="game" /><input type="button" value="计算得分" onclick="jisuan()" />
    <script>
    function jisuan()
    {
    var a = parseInt(document.getElementById("game").value);
    if(a>0&&a<=50)
    {
    var sum=0;
    for(var i=1;i<=a;i++)
    {
    if(i<=20)
    {
    sum+=i;    
    }    
    else if(i<=30)
    {
    sum+=10;
    }
    else if(i<=40)
    {
    sum+=20;    
    }
    else if(i<=49)
    {
    sum+=30;    
    }
    else
    {
    sum+=100;    
    }
    }
    alert("您获得的总分是:"+sum)
    }
    else
    {
    alert("输入有误!")    
    }    
    }
    </script>
    
    <br />
    <br />
    
    
    3.从控制台输入10个人的年龄放入数组,将十个人的年龄求总和
    <br />
    <p id="pp">请在文本框内输入第1个人的年龄:</p>
    <input type="text" id="age" />
    <input type="button" value="添加" id="jia" onclick="jia()" />
    <script>
    var array =new Array();
    var biao =1;
    function jia()
    {
    var aa =document.getElementById("jia").value;
    if(aa == "添加")
    {
    array[biao-1] = parseInt( document.getElementById("age").value);    
    document.getElementById("age").value="";
    biao++;
    document.getElementById("pp").innerText="请在文本框内输入第"+biao+"个人的年龄:";
    if(biao==10)
    {
    document.getElementById("jia").value="添加并计算";
    }
    }
    else
    {
    array[9] = parseInt( document.getElementById("age").value);
    var sum=0;
    for(var i=0;i<10;i++)
    {
    sum+=array[i];    
    }    
    document.getElementById("jia").disabled="disabled";
    alert("年龄总和是:"+sum)
    }
    }
    </script>
    实例
  • 相关阅读:
    我的插件架构
    .net 处理图片亮度
    封装自己的对称加密模块
    漏洞无处不在之窃取你的QQ信息
    写自己的自动升级模块
    抓到一只网马,发文顺便鄙视下360
    .net 3.5的Socket异步完成端口
    检测本机是否登录了指定QQ账号
    C++/CLR写的Data Blocks
    修改的Vista风格多功能日历Demo
  • 原文地址:https://www.cnblogs.com/zblc2016/p/5770427.html
Copyright © 2020-2023  润新知