JavaScript

2 篇文章 0 订阅

JavaScript特性

① 解释型语言。JavaScript是一种解释型的脚本语言,C、C++、Java等语言先编译后执行, 而JavaScript是在程序的运行过程中逐行进行解释,不需要被编译为机器码再执行。

② 面向对象。JavaScript是一种面向对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。

③ 类C和Java的语法。JavaScript的语法结构与C和Java很像,像for、if、while等语句和Java的基本上是一模一样的。

④ 简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言。(补充:Java是强类型的语言)

⑤ 动态性。所谓的动态性,可以暂时理解为在语言中的一切内容都是不确定的。比如一个变量,这一刻是个整数,下一刻可能会变成字符串了。

⑥ 跨平台性。JavaScript脚本语言不依赖于操作系统(Java依赖于JVM),仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提是机器上的浏览器支持JavaScript脚本语言。目前JavaScript已被大多数的浏览器所支持。

安全性。JavaScript是不允许直接访问本地硬盘的。

可以干什么

1,使网页具有交互性,例如响应用户点击,给用户提供更好的体验
2,可以处理表单,检验用户的输入,并提供及时反馈节省用户时间。例如,表单中要你输入电子邮箱而你却输入一个手机号,那么应该给你一个提醒。
3,还可以根据用户的操作,动态的创建页面。例如,发邮件时,添加附件操作。
4,设置cookie,cookie是存储在浏览器上的一些临时信息,

5.可以修改HTML结点的数据,修改样式(CSS)

 

javascript的数据类型

          基本数据烈性
              数值型:number
              字符串:string
              布尔型:boolean
              null型:null
              undefined:undefined(未定义)
          对象类型
              函数对象:function(){}
              数组对象:var arry = [] | new Array()
              一般对象:new Object     | {}
              判断数据类型:typeof()

         js中==与===区别
                    ==:比较的值是否相等
                    ===:比较的值和类型是否相等(全等)

特殊值问题

undefined:表示未定义,Undefined类型只有一个值,即特殊的 undefined 。所有的js中的变量在未初始化的时候默认值都是undefined。

typeof(undefined)结果是undefined。

null:表示空值,Null类型只有一个值,即为null。

从语义上看 null表示的是一个空对象。所以使用 typeof检查 null会返回一个Object。

undefined是由null值衍生出来的,所以undefined和null是否相等,会返回true。

NaN:not a number(非数值),在数学运算中对数值进行计算时,没有结果返回,则返回NaN

 JavaScript的命名规则跟java差不多,运算符也一样,多了一个 ===,==,!==还有逻辑运算符、流程控制语句,循环(没有foreach循环)

数组:

js中的数组
             数组定义
                 var arr = [];
                 var arr2 = new Array("s",true,12);
             数组调用
                 使用下标,从0开始
                 数组可以自动扩容,未赋值的结果为:undefined

函数:

      函数的声明:

                           1. function 函数名([i,k]){}
                           2. function([i,k]){}:匿名函数

      函数调用
                     js中调用函数时,不检查参数的匹配。
                     有名函数
                         形参>实参:
                             number:NaN
                             string:值+undefined
                         形参<实参:自动忽略多余的参数
                     匿名函数调用
                         直接关联事件
                         使用函数的引用,调用函数(如没有函数引用,声明变量指向函数)
                     arguments跟java中的可变形参非常类似,可以传递不确定个数的实参到函数中
                     NaN:not a number
                    js中不允许函数重载与重写
                    
                     注意:调用函数时,使用函数名()与函数名的区别
                         函数名():触发函数
                         函数名:使用函数的引用

                  函数的隐形参数:arguments,当实参>形参时剩余的形参隐藏在arguments里面,(其实所有传递的数据都在其中)

js中对象

             定义对象
                1. var obj = new Object()
                    obj.name = "zs";
                    obj.stuty = function(){}
                2. json格式定义风格
                var obj2 = {
                    name : "yuanyuan",
                    age : 18,
                    study : function(){}
                }
             调用对象
                  对象名.属性
                  对象名.函数名()
              this:指向的是调用当前函数的对象。
              js中有三种现成的对象
                 内置对象:Array,Math,Date
                 浏览器:window,location
                     location:操作url(地址栏)
                 DOM对象
                     document

 var obj={
    		name:"111",
    		age:18,
    		study:function(){
    			alert("好好学习,天天向上");
    		},
            info:function(){
            	alert("46");
            }
    }   
    alert(obj.name);
    obj.study();
    obj.info();

 

js的事件:

函数名说明
onload加载完成事件,常用于页面加载完成之后做的一些功能
onclick单击事件,常用于用户点击视图的时候触发功能
onblur失去焦点事件,常用于失去焦点的时候触发功能
onchange内容发生改变事件,常用于下拉列表和文本输入框内容发生改变时
onsubmit表单提交事件,常用于表单提交事件的时候做一些表单验证的工作
<head>
    <script type="text/javascript">
        window.onload = function() {
            var btnEle = document.getElementById("btn");
            btnEle.onclick = function() {
                alert("hello");
            };
        };
    </script>
</head>
<body>
	<button id="btn">点我</button>
</body>

window.onload加载事件,是在前端的页面都加载完毕之后进行加载的,只能有一个存在,否则就会覆盖。

 取消默认行为:return false:跳出函数(就近原则),返回结果。,例如取消链接的默认跳转,取消表单的提交

js的DOM对象操作

DOM查询
             基于整个文档查询
                 document.getElementById()   //根据ID返回一个对象
                 document.getElementsByTagName()  //根据元素返回的是所有子节点数组
                 document.getElementsByName()     //根据名称返回一个数组
             基于元素节点查询
                子节点
                     element.childNodes;     //返回的是数组结点
                     element.firstChild;     //返回第一个结点(注意:当IE>8时,有空格回车也算一个结点,
                     element.lastChild;      //返回最后一个结点
                     element.getElementsByTagName()    //根据名称返回当前元素的所有字节点
                 父节点
                     element.parentNode   
                 兄弟节点
                     element.previousSibling   //上一个兄弟结点
                     element.nextSibling       //下一个兄弟结点
         DOM操作文本
            .innerText:获取成对标签内部的文本值
            .innerHTML:获取成对标签内部的HTML值
         DOM操作属性
            - 读取属性值:**元素对象.属性名**
            - 修改属性值:**元素对象.属性名=新的属性值**
            .value属性:获取表单项的value属性值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值