javascript

javascript

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #a{font-size: 32px;text-decoration: underline;}
    </style>
    <script>
        function f() {
            document.getElementById("a").innerText="新浪";
        }
        window.onload=function(){
            var c=document.getElementById("b");
            c.onclick=function(){
                f();
            }
        }
    </script>
</head>
<body>
    <div id="a">搜狐</div> <br/>
    <button id="b">使用dom改变链接</button>
</body>
</html>
1、什么是JavaScript?

JavaScript是一种直译式脚本语言,是一种动态类型、弱类型,基于原型的语言

2、基本特点

解释性语言;跨平台;基于对象;动态性

3、可以做什么

客户端表单验证
页面动态效果
动态改变页面内容

4、JavaScript的组成

a、核心语法(ECMAScript):是一种开放的、国际上广为接受的、标准的脚本语言规范,是一个描述,规定了脚本语言的所有属性、方法和对象的标准,主要描述以下内容语法、变量和数据类型、运算符、逻辑控制语句、关键字、保留字、对象。
b、浏览器对象模型(BOM):是Browser Object Model的简称,提供独立于内容与浏览器窗口进行交互的对象,作用是将相关的元素组织包装起来,提供给程序设计人员使用,提高设计web页面的能力。BOM分层结构图如下:

window
history
document
location
fink
form
anchor
button
checkbox
text
textarea
select

c、文档对象模型(DOM):是Document Object Model的简称,是HTML文档对象模型定义的一套标准方法,用来访问和操纵HTML文档,有W3C定义,DOM提供一组按树状结构组织的HTML文档,树状结构中的每一个对象称为一个节点,每一个对象都有一个或多个属性和方法,如下图所示:

文档document
根节点html
元素head
元素body
元素title
文档标题
元素a
元素H1
属性href
5、脚本的基本结构
<script>
	//JavaScript 语句;
</script>
6、脚本执行原理

浏览器客户端与应用服务器端采用请求/响应模式进行交互

7、JavaScript常用的两种编程方式

a、所有代码写在网页的script标签中

<html>
<head>
<script>
for(var i=0;i<5;i++)
document.write("hello");
</script>
</head>
<body></body>
</html>

b、外链式:所有代码写在单独的JavaScript文件中,再在网页中引用

<html>
<head>
<script src="hello.js" type="">
</script>
</head>
<body></body>
</html>

hello.js文件

for(var i=0;i<5;i++)
document.write("hello");
8、JavaScript的基本语法

a、JavaScript输出,即JavaScript语句向浏览器发出命令,告诉浏览器该做什么

<script type="text/JavaScript">
	document.write("hello");
</script>

b、语句之间的分隔是分号(;),注意:分号是可选项,有时候看不到以分号隔开的
c、标识符:必须以下划线、字母或者美元符号开始,不能是关键字
d、JavaScript对大小写敏感
e、JavaScript会忽略掉多余的空格
f、代码不可以在单词之间换行
g、注释 单行注释:// 多行注释:/* */

9、JavaScript变量的声明、赋值、使用

JavaScript是一种弱类型语言,没有明确的数据类型,也就是说,在声明变量时,不需要指定变量的类型,变量的类型有赋给变量的值决定,JS声明变量采用var声明。
var width=20;
var x,y,z=10;
X=88;//区分大小写,由于JS是一种弱类型语言,所以允许不声明变量直接使用,系统将自动声明该变量,但是比较容易出错,也很难查找拍错

10、JavaScript中的数据类型

虽然JS是一种弱类型语言,但有时也需要监测变量的具体数据类型(通过typeof运算符)
在JS中,提供常用的基本数据类型:undefined(未定义类型),null(空类型),number(数值类型),string(字符串类型),boolean(布尔类型)
。var width;//变量未赋值,将被赋予值undefined
。值undefined实际上是值null派生来的,所以alert(bull==undefined);//为ture

11、逻辑控制语句

a、条件结构

if(表达式){JS语句1;}
else {JS语句2;}
//switch可以用于字符串
switch(表达式){
case 值1:JS语句1;break;
case 值2:JS语句2;break;
case 值3:JS语句3;break;
default:JS语句n;break;
}

b、循环结构

for(初始化;条件;增量或减量){
JS语句;}
while(条件){
JS语句;}
do{
JS语句;
}while(条件);

c、中断循环
break:可以立即退出整个循环
continue:退出当前循环,进入下一轮循环

12、JavaScript中的类型转换
  • 转换成数字:xxx*1.0
  • 转换成字符串:xxx+“”
  • 提取字符串中的整数:parseInt(); 例:parseInt(“123zhang”)结果为123
  • 提取字符串中的浮点数:parseFloat();
  • 执行用字符串表示的一段JS代码:eval 例:eval(“1+1”)结果为2
  • 转换为字符型:String();
  • 转换为数值型:Number();
  • 转换为布尔型:Boolean();
    注意:
    parseInt(“abc123”) 结果为NaN
    parseFloat(“abc123.123”) 结果为NaN
    Number(“123.123aa”)结果为NaN
13、JS中常用的输入/输出

a、警告(alert)
格式:alert("提示信息“)
b、提示(prompt)
格式:prompt(“提示信息”,"输入框的默认信息“);

14、程序调试

a、防止阻塞的方法

  • 把所有js代码放在body的最后
  • 添加window.onload事件,表示网页加载完毕之后执行的操作、

b、发生错误时阻塞:用alert()的阻塞特征,可以对错误进行调试

15、JS中常用的表单验证

a、控制内容长度

<p>控件内容长度限制</p >
<form name=a onsubmit="return test()">
   <textarea name="b" cols="40" rows="6" placeholder="不能超过50个字符!">
   </textarea><br />
    <input type="submit" name="Submit" value="check">
</form>
<script language="JavaScript">
    function test(){
        if(document.a.b.value.length>50){
            alert("不能超过50个字符!");
            document.a.b.focus();
            return false;
        }
    }
</script>

b、检查时间大小

    <script>
        function test(){

            var aa=document.getElementById("id2");
            var obj1=aa.value.replace(/-/g,"/");
            var data1=new Date(Date.parse(obj1));
            var data2=new Date();
            if(data1>data2){
                alert("不能大于当前的时间");
                return false;
            }
        }
    </script>

c、屏蔽关键字

<script type="text/javascript">
        function test(){
            var obj=document.querySelector("input[type=text]");
            if((obj.value.indexOf("****")!=-1)||(obj.value.indexOf("¥¥¥")!=-1)){
                alert("屏蔽关键字");
                return false;
            }
            console.log("执行成功");
        }
    </script>

d、两次输入密码是否相同

<script type="text/javascript">
        function check()
        {
            with(document.all){
                if(input1.value!=input2.value)
                {
                    alert("密码不一致");
                    input1.value = "";
                    input2.value = "";
                }
                else {
                    alert("密码一致");
                    document.forms[0].submit();
                }
            }
        }
    </script>

e、表单项不能为空

<script language="JavaScript">
    function check5(){
        if(document.a.b.value==""){
            alert('用户名不能为空!');
            document.a.b.focus();
            return false;
       }
    }
</script>
16、JS的高级应用

a、数组、集合的创建和使用

  • 数组:一组数据的集合,数组中的每一个数据叫做一个元素,数组元素可以是任意类型。数组的数据类型是对象
  • 隐式创建数组 var arr=[“小明”,1,5,true];
    直接实例化,通过构造函数Array()创建 var arr=new Array(“小明”,1,5,true);
  • length属性,用于返回数组中的元素个数,返回值为整型
    join()方法,通过一个指定的分隔符把数组元素放在一个字符串中
    sort()方法用于对数组的元素进行排序,括号类要是没有参数则按字母顺序或者每个数字的第一位进行排序,若是有参数则按其他标准进行排序 var arr=[1,4,23,56,8,32]; var de=arr.sort(function(a,b){return b-a});
    pop()移除数组元素的最后一项
    push()数组末尾添加一个或多个元素
17、二级级联

下拉列表框使用select和option两个标签共同创建,在HTML DOW中,select对象代表HTML表单中的一个下拉列表框,也称下拉菜单;option对象代表HTML表单中下拉列表框中的y一个选项。
在HTML表单中,select标签出现一次,一个select对象就会被创建,option标签出现一次,一个option对象就会被创建

例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>级联效果</title>
    <style>
        body{text-align: center;}
    </style>
</head>
<body>
    <form style="margin-top: 100px;border-color: black;">
        <tr>
            <td>
                姓名:<input type="text"/>
            </td>
            <br/><br/>
            <td>
                性别:<input type="radio" name="sex" checked="checked"/><input type="radio" name="sex"/></td><br/><br/>
            <td>
                兴趣爱好:<input type="checkbox"/>打球<input type="checkbox"/>唱歌<input type="checkbox"/>画画
            </td><br/><br/>
            <td>
                电子邮件:<input type="text"/>
            </td><br/><br/>
            <td>
                现居住地:<select id="province" onchange="changeCity()" style="width:100px;height: 22px">
                    <option>--选择省份--</option>
                </select>
                <select id="city" style="width: 100px;height: 22px;" >
                    <option>--选择城市--</option>
                </select>
            </td><br/><br/>
            <td><input type="reset" value="恢复" style="margin-left: 35px"/><input type="submit"  style="margin-left: 70px"/></td>
        </tr>
    </form>


    <script type="text/javascript">
        var cityList=new Array();
        cityList['广东省']=['广州','惠州','汕头','珠海','佛山','中山','东莞'];
        cityList['河南省']=['郑州','洛阳','开封','安阳','南阳',',周口'];
        cityList['河北省']=['石家庄','邯郸','保定','张家口','沧州'];
        cityList['湖南省']=['长沙','常德','益阳','郴州','湘西','湘潭'];
        cityList['浙江省']=['温州','杭州','宁波','嘉兴','绍兴','金华','舟山','台州','丽水'];
        function changeCity() {
            var pro=document.getElementById("province").value;
            var ci=document.getElementById("city");
            ci.options.length=1;
            for(var i in cityList){
                if(i==pro){
                    for(var j in cityList[i]){
                        ci.add(new Option(cityList[i][j],cityList[i][j]),null);
                    }
                }
            }
        }

        function allCity() {
            var pro=document.getElementById("province");
            for(var i in cityList){
                pro.add(new Option(i,i),null);
            }
        }
        window.onload=allCity;
    </script>

</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值