前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript 笔记

JavaScript 笔记

作者头像
卓越笔记
发布2023-02-18 11:58:01
1.8K0
发布2023-02-18 11:58:01
举报
文章被收录于专栏:卓越笔记卓越笔记

 什么是 JavaScript?

  1. JavaScript 是一种客户端脚本语言(脚本语言是一种轻量级的编程语言)。 
  2. JavaScript 通常被直接嵌入 HTML 页面。
  3. JavaScript 是一种解释性语言(就是说,代码执行不进行预编译)。 

    特点:         1. 弱类型          2. 基于对象。(因为面向对象需要具有封装、继承、多态的特征)

在浏览器上执行的脚本

 1. JavaScript  2. VBscript  3. applet(需要安装JDK)

  ECMAScript总称      |      |-- JavaScript      |      |-- ActionScript      |      |-- ScriptEase

JavaScript 语言中包含三个核心:ECMAScript 基本语法、DOM、BOM

JavaScript 是基于对象的脚本语言。

在 HTML 中如何使用 JavaScript

*1. 使用 <script></script> 标签:     属性:     charset(可选)字符集设置、     defer(可选执行顺序)值:defer、     language(已废除)、     src(可选)使用外部的js脚本文件     type(必选)类型:值:text/javascript

    <script type="text/javascript">         <!--         javaScript语言         //-->     </script>

2. 在 html 标签的事件中,超级链接里。     <button onclick="javaScript语言"></button>     <a href="javascript:alert('aa');alert('bb')">点击</a>

3. 外部导入方式(推荐):     <script type="text/javascript" src="my.js"></script>

JavaScript 的语法

1. 区分大小写:变量名、函数名、运算符以及其他一切东西都是区分大小写的。

2. 他和php一样属于弱类型语言。

3. 每行结尾的分号可有可无。(js中的每条语句之间的分割符可以是回车换行也可以是";"分号(推荐))

4. 脚本注释:     // 单行注释     /* 多行注释  */

5. 括号表示代码块:{}

6. 变量的定义:使用var关键字来声明。    变量的命名规范是:字母数字,$符和下划线构成,但是不可以以数字开始。区分大小写    变量名不可以使用关键字.     typeof 函数获取一个变量的类型:         * undefined - 如果变量是 Undefined 类型的         * boolean - 如果变量是 Boolean 类型的         * number - 如果变量是 Number 类型的 (整数、浮点数)         * string - 如果变量是 String 类型的 (采用""、 '')         * object - 如果变量是一种引用类型或 Null 类型的 如:new Array()/ new String()...           funciton -- 函数类型  7.JavaScript 的数据类型:     undefined 类型      null 类型(对象)     boolean 类型     number 类型         八进制数和十六进制数 012         浮点数         特殊的 Number 值     string 类型         var s = "hello";         document.write(s+"<br/>");         document.write(s[1]+"<br/>"); //使用下标可以取出对应的字符         document.write(s.length+"<br/>");//求长度     object 引用类型         引用类型通常叫做类(class),也就是说,遇到引用值,所处理的就是对象。         Object 对象自身用处不大,不过在了解其他类之前,还是应该了解它。         因为 ECMAScript 中的 Object 对象与 Java 中的 java.lang.Object 相似,         ECMAScript 中的所有对象都由这个对象继承而来,Object 对象中的所有属性         和方法都会出现在其他对象中,所以理解了 Object 对象,就可以更好地理解其他对象。 8. 类型转换:     使用:Number()、parseInt() 和parseFloat() 做类型转换     Number()强转一个数值(包含整数和浮点数)。     *parseInt()强转整数,     *parseFloat()强转浮点数     函数isNaN()检测参数是否不是一个数字。 is not a number     ECMAScript 中可用的 3 种强制类型转换如下:         Boolean(value) - 把给定的值转换成 Boolean 型;         Number(value) - 把给定的值转换成数字(可以是整数或浮点数);         String(value) - 把给定的值转换成字符串;

JavaScript 的运算符

1. 一元运算符 *    delete:用于删除对象中属性的   如:delete o.name; //删除o对象中的name属性     void:    void 运算符对任何值返回 undefined。没有返回值的函数真正返回的都是 undefined。 *    ++ --     一元加法和一元减法 2. 位运算符     位运算 NOT ~     位运算 AND &     位运算 OR |     位运算 XOR ^  (不同为1,相同则为0)     左移运算 <<     右移运算 >> 3. 逻辑运算符     逻辑 NOT ! 运算符  非     逻辑 AND && 运算符 与     逻辑 OR  || 运算符 或 4. 乘性运算符:*( 乘) /(除) %(取模)求余 5. 加性运算符: + -      *其中+号具有两重意思:字串连接和数值求和。     就是加号”+“两侧都是数值则求和,否则做字串连接   6. 关系运算符 >  >=  < <= 7. 等性运算符 ==  === != !== 8. 条件运算符  ? : (三元运算符) 9. 赋值运算符 =  +=  -= *= /= %= >>= <<= 10 逗号运算符      用逗号运算符可以在一条语句中执行多个运算。     var iNum1=1, iNum2=2, iNum3=3;

javaScript(语句流程控制)

    1. 判断语句 if语句;  if... else ...    if ...  else if ... else...

    2. 多分支语句: switch(){。 case :。。。。}             switch (i) {               case 20: alert("20");                 break;               case 30: alert("30");                 break;               case 40: alert("40");                 break;               default: alert("other");             }     3. 循环语句(迭代语句)             for:             while             do...while             *for-in 语句: 语句是严格的迭代语句,用于枚举对象的属性。                 var a = [10,20,30,40,50];                 //迭代的是数组的下标。                 for(i in a){                    document.write(a[i]);                 }                 //输出: 1020304050     4. break 和 continue 语句对循环中的代码执行提供了更严格的控制。         5. *with 语句用于设置代码在特定对象中的作用域。   //扩充知识:         1. 在网页文档中获取一个节点对象(HTML标签)         document.getElementById("mid"); //获取标签id属性值为mid的节点对象     2. 定时相关函数:         setTimeout(vCode, iMilliSeconds [, sLanguage]) -- 单次定时执行指定函数          clearTimeout(iTimeoutID) -- 取消上面的单次定时         setInterval(vCode, iMilliSeconds [, sLanguage]) --无限次定时执行指定函数          clearInterval(iIntervalID)-- 取消上面的多次定时

JavaScript 函数

标准格式: function 函数名([参数列表..]){                 函数体。。。                 [return 返回值;]            } JavaScript三种定义函数方法:     *第一种是使用function语句定义函数         如上面格式     第二种是使用Function()构造函数来定义函数(不常用)         var 函数名 = new Function(“参数1”,”参数2”,”参数3”……”函数体”);         如:         var 函数名 = new Function(”x”,”y”,”var z=x+y;return z;”);

    *第三种是在表达式中定义函数         var 函数名 = function(参数1,参数2,…){函数体};         //例如:         //定义             var add = function(a,b){                 return a+b;             }             //调用函数             document.write(add(50,20));     arguments 对象             在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们。             例如,在函数 sayHi() 中,第一个参数是 message。用 arguments[0]              也可以访问这个值,即第一个参数的值(第一个参数位于位置 0,             第二个参数位于位置 1,依此类推)。      关于变量和参数问题:         函数外面定义的变量是全局变量,函数内可以直接使用。         在函数内部没有使用var定义的=变量则为全局变量,         *在函数内使用var关键字定义的变量是局部变量,即出了函数外边无法获取。         js函数定义的参数没有默认值(目前只有最新的火狐浏览器支持)

JavaScript 系统中常用的内置函数

    escape()    //字串编码     unescape()    //字串反编码     *eval()        //将参数字符串作为脚本代码来执行。     *isNaN()      // is not a number (不是一个数值)     *parseInt()     *parseFloat()

JavaScript 的对象的定义和使用

    1. 使用构造函数创建内置对象         var myObject = new Object();         myObject.name = “lijie”;         myObject.age = 20;         myObject.say = function(){...}     2. 直接创建自定义对象         var 对象名 = {属性名1:属性值,属性名2:属性值2,…….}     *3. 使用自定义构造函数创建对象         function pen(name,color,price){             //对象的name属性             this.name = name;             //对象的color属性             this.color = color;             //对象的piece属性             this.price = price;             //对象的say方法             this.say = function(){};         }         var pen = new pen(“铅笔”,”红色”,20);         pen.say();     测试类型:     1. typeof()  //global对象的其中一个方法,typeof()     2. 对象.constructor; //查看当前对象的构造函数是谁

    if(arr.constructor==Array){         alert("数组"); //数组推荐用这种方法,因为typeof得到是object     }

常用技巧函数

        1. HTML的标签(节点)操作             document.write(""); //输出的             document.getElementById("id名"); //获取html页面标签中,标签id属性等于此值的对象。                 如:var id = document.getElementById("hid"); //获取id值为hid的标签对象             document.getElementsByTagName("标签名"); //获取当前文档执行的标签对象             html标签对象的操作:                 标签对象.innerHTML="内容";//在标签对象内放置指定内容                 标签对象.style.css.属性名="值" //改变标签对象的样式。                     示例:id.style.color="red";                     注意:属性名相当于变量名,所以css属性名中的减号要去掉,将后面的首字母大写。                         如:font-size(css)---> fontSize(JS属性)                 标签对象.value;     //获取标签对象的value值                 标签对象.value=”值“;//设置标签对象的value值

for…in 语句

    for(var i in window){         document.write(i+”----”+window[i]);     }     这种语句可以遍历对象中的所有属性或数组中的所有元素。

with 语句

    如果使用with语句,就可以简化对象属性调用的层次。         document.write(‘test1’);         document.write(‘test2’);         document.write(‘test3’);     可以使用with来简化:         with(document){             write(‘test1’);             write(‘test2’);             write(‘test3’);         }

JavaScript 内置对象

      * Array(数组)         var a= new Array(); //创建一个空数组         a = new Array(10);  //创建一个数组单元为10个的数组。         a = new Array(10,20,30);//创建一个指定数组单元的数组。         a=['a','b','c','d']; //快捷定义数组         常用属性:             length--获取长度。         常用方法:             toString()     把数组转换为字符串,并返回结果。             sort()     对数组的元素进行排序             join()     把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。             pop() 删除并返回数组的最后一个元素              push() 向数组的末尾添加一个或更多元素,并返回新的长度。 

            。。。。。     * Boolean  布尔值包装类对象         方法:toSource()     返回该对象的源代码。              toString()     把逻辑值转换为字符串,并返回结果。             valueOf()     返回 Boolean 对象的原始值。     * Date         var dd = new Date();         dd.getDate()     从 Date 对象返回一个月中的某一天 (1 ~ 31)。         getDay()     从 Date 对象返回一周中的某一天 (0 ~ 6)。         getMonth()     从 Date 对象返回月份 (0 ~ 11)。         getFullYear()     从 Date 对象以四位数字返回年份。          getYear()     请使用 getFullYear() 方法代替。          getHours()     返回 Date 对象的小时 (0 ~ 23)。          getMinutes()     返回 Date 对象的分钟 (0 ~ 59)。         getSeconds()     返回 Date 对象的秒数 (0 ~ 59)。          getMilliseconds()     返回 Date 对象的毫秒(0 ~ 999)。          getTime()     返回 1970 年 1 月 1 日至今的毫秒数。         同上还有很多set方法用来设置。     * Math  对象用于执行数学任务。方法是静态的。         abs(x)     返回数的绝对值。         ceil(x)     对数进行上舍入。         floor(x)     对数进行下舍入。         random()     返回 0 ~ 1 之间的随机数。         round(x)     把数四舍五入为最接近的整数。         max(x,y)     返回 x 和 y 中的最高值。          min(x,y)     返回 x 和 y 中的最低值。     * Number         toString();         toFixed 把数字转换为字符串,结果的小数点后有指定位数的数字。      * String 子串处理对象         anchor()     创建 HTML 锚。         *charAt()     返回在指定位置的字符。              charCodeAt()返回在指定的位置的字符的 Unicode 编码。         *indexOf()     检索字符串。          *lastIndexOf()     从后向前搜索字符串。         match()     找到一个或多个正在表达式的匹配。         *replace()     替换与正则表达式匹配的子串。         search()     检索与正则表达式相匹配的值。         slice()     提取字符串的片断,并在新的字符串中返回被提取的部分。         *split()     把字符串分割为字符串数组。         substr()     从起始索引号提取字符串中指定数目的字符。         *substring()     提取字符串中两个指定的索引号之间的字符。         toLocaleLowerCase()     把字符串转换为小写。         toLocaleUpperCase()     把字符串转换为大写。         *toLowerCase()     把字符串转换为小写。         *toUpperCase()     把字符串转换为大写。     * RegExp         exec()正则匹配         test()         match()     * Global         escape(string) -- 可对字符串进行编码         unescape(string) -- 函数可对通过 escape() 编码的字符串进行解码。         encodeURI(URIstring) -- 函数可把字符串作为 URI 进行编码。         decodeURI(URIstring) -- 函数可对 encodeURI() 函数编码过的 URI 进行解码。         *eval(string) -- 函数可计算某个字符串,并执行其中的的 JavaScript 代码。         getClass(javaobj) -- 函数可返回一个 JavaObject 的 JavaClass。         *isNaN(x) -- 函数用于检查其参数是否是非数字值。         Number(object) --函数把对象的值转换为数字。         *parseFloat(string) -- 函数可解析一个字符串,并返回一个浮点数。         *parseInt(string, radix)

JavaScript 事件

  事件处理     一、事件源: 任何一个HTML元素(节点) body, div , button p, a, h1 .......      二、事件: 你的操作         鼠标:         *    click     单击             dblclick  双击             contextmenu (在body) 文本菜单(鼠标右键使用)                  要想屏蔽鼠标右键使用return false                 window.document.oncontextmenu=function(ent){...}         *    mouseover 放上(移入)         *    mouseout  离开(移出)             mousedown 按下             mouseup   抬起         *    mousemove 移动         键盘:             keypress  键盘事件             keydown   按下

        文档:(主要使用在body标签中)         *    load   加载             unload 关闭(为了兼容可使用下面函数)             beforeunload 关闭   之前         表单:          *    focus 焦点         *    blur  失去焦点         *    submit 提交事件             *    change 改变(如下拉框选择事件)         其它:         *    scroll 滚动事件(常用延迟加载、瀑布流技术)             window.onscroll=function(){                 document.documentElement.scrollTop;//获取滚动条的上距离                 document.documentElement.scrollLeft;//滚动条的左距离             }             selectd 事件             。。。。

    三、事件处理程序           使用一个匿名或回调函数

有三种方法加事件

    第一种:          格式: <tag  on事件="事件处理程序" />     *第二种:         <script>             对象.on事件=事件处理程序         </script>     第三种:(火狐不兼容)         <script for="事件源ID" event="on事件">事件处理程序</script>

事件对象:

    属性:         1. srcElement         2. keyCode  键盘值     事件 event    window.event

      1. srcElement  代表事件源对象       2. keyCode     事件发生时的键盘码  keypress ,  keydown keyup       3. clientX, clientY  坐标位置       4. screenX, screenY       5. returnValue       6. cancelBubble;          //为页面添加鼠标右点击事件     window.document.oncontextmenu=function(ent){         //兼容IE和火狐浏览器兼容         var event=ent || window.event;         //获取事件坐标位置         var x=event.clientX;         var y=event.clientY;         ...     }     /*********************对象添加事件*******************/     function addEvent(obj,type,fun){         obj=$(obj);         if(obj.addEventListener){             obj.addEventListener(type,fun);  //FF             return true;         }else if(obj.attachEvent){             return obj.attachEvent("on"+type,fun); //IE         }else{             return false;         };     };     /*********************对象删除事件*******************/     function delEvent(obj,type,fun){         obj=$(obj);         if(obj.addEventListener){             obj.removeEventListener(type,fun);             return true;         }else if(obj.attachEvent){             obj.detachEvent("on"+type,fun);             return true;         }else{             return false;         };     };       document.getElementById("one").offsetHeight; //获取one对应对象的高度         obj.offsetTop 指 obj 距离上方或上层控件的位置,整型,单位像素。         obj.offsetLeft 指 obj 距离左方或上层控件的位置,整型,单位像素。         obj.offsetWidth 指 obj 控件自身的宽度,整型,单位像素。         obj.offsetHeight 指 obj 控件自身的高度,整型,单位像素。      document.all ? 'IE' : 'others':在IE下document.all值为1,而其他浏览器下的值为0;

BOM

    <button onclick="window.location=''">跳转</button>     1. window对象         常用的属性:             *document :对 Document 对象的只读引用             *history    :对 History 对象的只读引用。             *location:用于窗口或框架的 Location 对象  照指定的周期(以毫秒计)来调用函数或计算表达式。              clearInterval() 取消由 setInterval() 设置的 timeout。 

    2. Navigator 对象             Navigator 对象包含的属性描述了正在使用的浏览器。可以使用这些属性进行平台专用的配置。         常用属性: 

            with(document) {                  write ("你的浏览器信息:<ul>");                  write ("<li>代码:"+navigator.appCodeName+"</li>");                  write ("<li>名称:"+navigator.appName+"</li>");                  write ("<li>版本:"+navigator.appVersion+"</li>");                  write ("<li>语言:"+navigator.language+"</li>");                  write ("<li>编译平台:"+navigator.platform+"</li>");                  write ("<li>用户表头:"+navigator.userAgent+"</li>");                  write ("</ul>");             }

    3. Screen 对象包含有关客户端显示屏幕的信息。

        常用属性:             document.write( "屏幕宽度:"+screen.width+"px<br />" );             document.write( "屏幕高度:"+screen.height+"px<br />" );             document.write( "屏幕可用宽度:"+screen.availWidth+"px<br />" );             document.write( "屏幕可用高度:"+screen.availHeight+"px" );         参考了解其他属性信息获取方式             网页可见区域宽: document.body.clientWidth             网页可见区域高: document.body.clientHeight             网页可见区域宽: document.body.offsetWidth (包括边线的宽)             网页可见区域高: document.body.offsetHeight (包括边线的高)             网页正文全文宽: document.body.scrollWidth             网页正文全文高: document.body.scrollHeight             网页被卷去的高: document.body.scrollTop             网页被卷去的左: document.body.scrollLeft             网页正文部分上: window.screenTop             网页正文部分左: window.screenLeft             屏幕分辨率的高: window.screen.height             屏幕分辨率的宽: window.screen.width             屏幕可用工作区高度: window.screen.availHeight             屏幕可用工作区宽度: window.screen.availWidth     4. History 对象包含用户(在浏览器窗口中)访问过的 URL。     5. Location 对象包含有关当前 URL 的信息。     //获取页面中第二form表单中,一个username输入框的值(7种方式)         //alert(document.forms[1].username.value);         alert(document.myform.username.value);         //alert(document.forms.myform.username.value);         //alert(document.forms.item(1).username.value);         //alert(document.forms['myform'].username.value);         //alert(document['myform'].username.value);         //alert(document.forms.item('myform').username.value); //火狐不兼容

DOM

基本概念

HTML DOM 定义了访问和操作HTML文档的标准方法。     HTML DOM 把 HTML 文档呈现为带有元素、属性和文本的树结构(节点树)。     DOM 被分为不同的部分:       1.Core DOM          定义了一套标准的针对任何结构化文档的对象        2.XML DOM          定义了一套标准的针对 XML 文档的对象        3.HTML DOM          定义了一套标准的针对 HTML 文档的对象。      节点:根据 DOM,HTML 文档中的每个成分都是一个节点。       DOM 是这样规定的:         >整个文档是一个文档节点          >每个 HTML 标签是一个元素节点          >包含在 HTML 元素中的文本是文本节点          >每一个 HTML 属性是一个属性节点          >注释属于注释节点      节点彼此间都存在关系。         >除文档节点之外的每个节点都有父节点。         >大部分元素节点都有子节点。         >当节点分享同一个父节点时,它们就是同辈(同级节点)。         >节点也可以拥有后代,后代指某个节点的所有子节点,或者这些子节点的子节点         >节点也可以拥有先辈。先辈是某个节点的父节点,或者父节点的父节点     查找并访问节点       你可通过若干种方法来查找您希望操作的元素:         >通过使用 getElementById() 和 getElementsByTagName() 方法          >通过使用一个元素节点的 parentNode、firstChild 以及 lastChild childNodes属性      节点信息       每个节点都拥有包含着关于节点某些信息的属性。这些属性是:         nodeName(节点名称)          nodeValue(节点值)          nodeType(节点类型)

    nodeName 属性含有某个节点的名称。         元素节点的 nodeName 是标签名称          属性节点的 nodeName 是属性名称          文本节点的 nodeName 永远是 #text          文档节点的 nodeName 永远是 #document 

HTML DOM 对象参考

    Document: 代表整个 HTML 文档,可被用来访问页面中的所有元素      常用集合属性:forms     Anchor     : 代表 <a> 元素      Area     : 代表图像映射中的 <area> 元素      Base     : 代表 <base> 元素      Body     : 代表 <body> 元素      Button     : 代表 <button> 元素      Event     : 代表某个事件的状态      Form     : 代表 <form> 元素      Frame     : 代表 <frame> 元素      Frameset: 代表 <frameset> 元素      Iframe     : 代表 <iframe> 元素      Image     : 代表 <img> 元素      Input button     : 代表 HTML 表单中的一个按钮      Input checkbox     : 代表 HTML 表单中的复选框      Input file         : 代表 HTML 表单中的文件上传      Input hidden     : 代表 HTML 表单中的隐藏域      Input password  : 代表 HTML 表单中的密码域      Input radio     : 代表 HTML 表单中的单选按钮      Input reset     : 代表 HTML 表单中的重置按钮      Input submit     : 代表 HTML 表单中的确认按钮      Input text         : 代表 HTML 表单中的文本输入域(文本框)      Link     : 代表 <link> 元素      Meta     : 代表 <meta> 元素      Object  : 代表 <Object> 元素      Option  : 代表 <option> 元素      Select     : 代表 HTML 表单中的选择列表      Style     : 代表单独的样式声明      Table     : 代表 <table> 元素      TableData : 代表 <td> 元素      TableRow  : 代表 <tr> 元素      Textarea  : 代表 <textarea> 元素 

HTML 的 DOM

    Object  : 代表 <Object> 元素      Option  : 代表 <option> 元素      Select     : 代表 HTML 表单中的选择列表      Style     : 代表单独的样式声明      Table     : 代表 <table> 元素      TableData : 代表 <td> 元素      TableRow  : 代表 <tr> 元素      Textarea  : 代表 <textarea> 元素 

XML 的 DOM

    DOM (Document Object Model) 文档对象模型     1. document 文档  HTML XML 文件 (标记语言)      <body>         <div>             <!--  -->             <a href="#">wwww</a>         </div>      </body>      节点:         将文档想成一个倒树, 每一个部分(根、元素、文本(内容), 属性, 注释)都是一节点。         根据 DOM,HTML 文档中的每个成分都是一个节点。

        DOM 是这样规定的:             1. 整个文档是一个文档节点(根节点)              2. 每个 HTML 标签是一个元素节点              3. 包含在 HTML 元素中的文本是文本节点              4. 每一个 HTML 属性是一个属性节点              5. 注释属于注释节点      2. 父、子和同级节点         节点树中的节点彼此之间都有等级关系。

        父、子和同级节点用于描述这种关系。父节点拥有子节点,位于相同层级上的子节点称为同级节点(兄弟或姐妹)。             1. 在节点树中,顶端的节点成为根节点              2. 根节点之外的每个节点都有一个父节点              3. 节点可以有任何数量的子节点              4. 叶子是没有子节点的节点              5. 同级节点是拥有相同父节点的节点          只要知道一个节点, 按关系找到其它节点             父节点:   parentNode             子节点(第一个, 最后一个) childNodes    firstChild   lastChild             同胞(同辈)节点 (上一个, 下一个)nextSibling   previousSibling

    3。 获取节点的方式:         array  getElementsByTagName("节点名"); //获取所对应节点名(所有),返回的是数组         object getElementById("id名"); //获取id名的唯一节点对象         示例:(找节点)             document.getElementsByTagName("li"); //所有所有li节点             document.getElementById("lid"); //获取id值为lid的唯一节点             document.getElementById("uid").getElementsByTagName("li");              //获取id值为uid中所有li子节点             document.getElementsByTagName("ul")[0].getElementsByTagName("li");              //获取第一个ul节点中所有li子节点         获取到的标记名(多个)、 id(唯一)、 name(多个)     4. 每个节点中的内容             节点类型nodeType、节点名nodeName,节点值nodeValue          节点名nodeName:             nodeName 是只读的              元素节点的 nodeName 与标签名相同              属性节点的 nodeName 是属性的名称              文本节点的 nodeName 永远是 #text              文档节点的 nodeName 永远是 #document          节点值nodeValue              元素节点的 nodeValue 是 undefined              文本节点的 nodeValue 是文本自身              属性节点的 nodeValue 是属性的值          nodeType(节点类型)              元素类型        节点类型                 元素            1                 属性            2                 文本            3                 注释            8                 文档            9

     4. Object 对象 (HTML元素 转成的对象(js对象))     注意: 如果使用js操作HTML文档, 就需要选将HTML文档结构转成Js对象         a. 操作属性:              nodeName(节点名称)              nodeValue(节点值)              nodeType(节点类型)             其他属性:(针对于节点)                 childNodes 返回节点到子节点的节点列表。                 firstChild 返回节点的首个子节点。                 lastChild 返回节点的最后一个子节点。                 nextSibling 返回节点之后紧跟的同级节点。                 previousSibling 属性可返回某节点之前紧跟的节点(处于同一树层级)                                 parentNode 返回节点的父节点。                  textContent设置或返回节点及其后代的文本内容。         b. 操作内容             innerText(IE) textContent(FF) //获取的是显示的内容,不包含HTML标签             innerHTML //获取的是显示的内容,会包含HTML             outerText             outerHTML             表单                value         c. 操作样式             aobj.style.backgroundColor="red";             aobj.style.fontSize="3cm";             className             aobj.className="test";             aobj.className+=" demo";             aobj.className="";         e. 操作节点:             appendChild()     向节点的子节点列表的结尾添加新的子节点。             cloneNode()        复制节点。             removeChild()    删除(并返回)当前节点的指定子节点。             replaceChild()     用新节点替换一个子节点。             hasAttributes() 判断当前节点是否拥有属性。               hasChildNodes() 判断当前节点是否拥有子节点。              insertBefore()  在指定的子节点前插入新的子节点。

        f. 创建节点:             * createElement() 创建元素节点                createAttribute() 来创建属性节点  可以:元素节点.属性名=值;               createTextNode() 来创建新的文本节点 可以:元素节点.innerHTML=文本内容;

        有了以上三点的操作之前先转成对象         转成对象的两种形式:          1.  标记名(多个)、 id(唯一)、 name(多个)              document中的三个方法             var objs=document.getElementsByTagName("div"); //获取多个             var objs=document.getElementById("one");    //获取一个             var objs=document.getElementsByName("two");

AJAX

var xmlhttp;  1. 创建请求对象     if(window.XMLHttpRequest){         // code for IE7+, Firefox, Chrome, Opera, Safari         xmlhttp=new XMLHttpRequest();     }else{         // code for IE6, IE5         xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");     }  2. 设置回调函数(监听)     xmlhttp.onreadystatechange=函数名;     或     xmlhttp.onreadystatechange=function(){         函数体。。。     }

 3. 初始化:     xmlhttp.open("GET","gethint.php?q="+str,true); //异步以get方式发送到gethint.php  4. 发送:     xmlhttp.send(); 其中:xmlhttp 请求对象:   **属性:     *readyState  //请求状态:0,1,2,3,4     *responseText//响应内容     responseXML //xml响应对象     *status    //浏览器响应状态:200正常, 404 请求地址不存在 ,,     statusText //状态内容     *onreadystatechange //回调函数属性   方法:     abort() //取消当前响应,关闭连接并且结束任何未决的网络活动。     getAllResponseHeaders() //把 HTTP 响应头部作为未解析的字符串返回。     getResponseHeader() //返回指定的 HTTP 响应头部的值     *open()    //初始化 HTTP 请求参数     *send() //发送 HTTP 请求,使用传递给 open() 方法的参数     *setRequestHeader() //向一个打开但未发送的请求设置或添加一个 HTTP 请求。

模拟 POST 提交代码:     xmlhttp.open("POST","ajax_test.php",true);     xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");     xmlhttp.send("fname=Bill&lname=Gates");

JavaScript 教程

https://wangdoc.com/javascript/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-12-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  什么是 JavaScript?
  • 在浏览器上执行的脚本
  • 在 HTML 中如何使用 JavaScript
  • JavaScript 的语法
  • JavaScript 的运算符
  • javaScript(语句流程控制)
  • JavaScript 函数
  • JavaScript 系统中常用的内置函数
  • JavaScript 的对象的定义和使用
  • 常用技巧函数
  • for…in 语句
  • with 语句
  • JavaScript 内置对象
  • JavaScript 事件
  • BOM
  • DOM
    • 基本概念
      • HTML DOM 对象参考
        • HTML 的 DOM
          • XML 的 DOM
          • AJAX
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档