JavaScript学习
JavaScript的学习笔记
LANGXUEWEN
这个作者很懒,什么都没留下…
展开
-
关于JavaScript原型链
关于JavaScript原型链创建对象的方法在了解原型链之前,先了解以下三种创建对象的几种方式: //第一种:字面量 var o1={name:'o1'} var o2=new Object({name:'o2'}) //第二种:构造函数 var M=function(name){this.name=name;} var o3=new M('o3') //第三种:Object.create var s={name:'s'} va原创 2020-12-18 15:04:15 · 91 阅读 · 0 评论 -
7-使用Ajax
1、AJAXAJAX = Asynchronous JavaScript and XML(异步 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。2、XMLHttpRequestXMLHttpRequest 是 AJAX 的基础。XMLHttpRequest 对象用于和服务器交换数据。使用XMLHttpRequest 对象实现异步通信一般需要以下几个步骤:定义XML原创 2020-12-11 17:58:39 · 113 阅读 · 0 评论 -
6-JavaScript操作事件
前言事件是JavaScript最鲜明的特性,JavaScript以事件驱动实现页面交互,当事件发生时,浏览器会自动调用事件处理函数,同时生成事件对象,传递给事件处理函数。【学习要点】了解事件模型、事件流、事件类型能够正确注册事件、销毁事件能够自定义事件1 事件基础1.1 事件流事件流是多个节点对同一种事件进行响应的先后顺序,主要包括:1、冒泡型2、捕获型3、混合型(支持冒泡型和捕获型两种事件流)根据事件流类型,可把事件传播的整个过程分为3个阶段:捕获阶段事件从docu原创 2020-12-10 20:50:42 · 117 阅读 · 0 评论 -
JS事件循环机制(Event Loop)
JavaScript是一门单线程的非阻塞的脚本语言。单线程意味着,JavaScript代码在执行的时候,都只有一个主线程来处理所有的任务。而非阻塞则是当代码需要执行一项异步任务(无法立刻返回结果,需要花一定时间才能返回的任务,如I/O事件)时,主线程会挂起(pending)这个任务,然后在异步任务返回结果的时候再根据一定规则去执行相应的回调。javascript选择只用一个主线程来执行代码,这样保证了程序执行的一致性。单线程在保证了执行顺序的同时也限制了JavaScript的效率,因此开发出了web原创 2020-12-07 22:31:02 · 176 阅读 · 2 评论 -
JavaScript 知识点补充
JavaScript类型检测typeof适合基本类型和函数对象 function 的检测,但遇到 null 失效typeof [1,2] //‘object’typeof NaN //‘number’typeof null //‘object’instanceof(基于原型链判断)常用于判断对象类型,适合自定义对象【注】不同window或iframe间的对象类型检测不能使用 instanceof[] instanceof Array //truenew O原创 2020-12-04 21:48:09 · 85 阅读 · 0 评论 -
5-字符串
1.字符串基础通过String构造函数构造的字符串与字符串直接量的类型不同。前者为引用对象,后者为值类型的字符串。var s1=new String('1'); //构造字符串var s2='2'; //定义字符串直接量console.log(typeof s1); //objectconsole.log(typeof s2); //string...原创 2020-10-22 22:58:45 · 3902 阅读 · 0 评论 -
4-数组-案例实战
扩展数组扩展数组一般通过为Array 对象定义原型方法来实现,这些原型方法能被所有数组继承。Array.prototype.hello=function(){ console.log("hello!")}var a=[1,2,3]var b=[]a.hello()b.hello()//结果://hello!//hello!【例】为数组扩展一个求所有元素之和的方法Array.prototype._sum=Array.prototype.sum|| //检测是否存在同名方法原创 2020-10-09 23:50:12 · 841 阅读 · 0 评论 -
4-数组
遍历数组foreach()for-in 语句结构Object.keys() 方法数组的某个位置是空位,与某个位置是undefined不一样。若是空位,使用数组的foreach() 方法、for-in结构以及Object.keys() 方法进行遍历,空位都会被跳过。使用Array判断数组Array.isArray() 判断一个值是否为数组增删数组1.push() —在尾部添加元素【用 push() 方法合并两个数组:Array.push.apply(arr1,arr2)】2原创 2020-10-09 11:36:01 · 216 阅读 · 0 评论 -
3-编程练习
杨辉三角var n=7;function ret(x,y){ if((y==1)||(y==x+1)) return 1; return ret(x-1,y-1)+ret(x-1,y); //通过递归算法求指定行和列的值}for(var i=0;i<n;i++){ for(var j=1;j<=i+1;j++){ console.log(ret(i,j));//调用求值函数,输出每一个数字 } console.log("<br原创 2020-10-08 15:28:46 · 125 阅读 · 0 评论 -
3-JavaScript程序结构设计
循环结构while语句do-while语句for语句for-in语句for-in语句能够枚举对象内的所有可枚举的属性,包括原生属性和继承属性跳转结构跳转语句主要包括标签、break、continue、return标签语句在JavaScript中,任何语句都可以添加一个标签,如 label:statements在下面代码中,b就是标签名,a是对象的属性名b:{ a:true}标签名和属性名都属于标签范畴,不能重名对象属性的标识名可以访问属性,如下var o={原创 2020-10-08 15:03:59 · 86 阅读 · 0 评论 -
2-编程练习
编写一个求和函数sum()function sum() { var result=0; for(var i=0;i<arguments.length;i++){ result+=parseFloat(arguments[i])||0;//去除非数字参数 } return result.toFixed(3)/1;//去掉溢出小数}var a=sum(1,2,3,4,5);var b=sum(0.1,0.2,false,true,'a','F',6)原创 2020-10-08 10:39:08 · 161 阅读 · 0 评论 -
2-基本语法
变量声明变量undefined— 声明但未赋值JavaScript允许未声明就直接为变量赋值,JavaScript会将其视为全局变量,函数外代码可访问该变量的值使用var语句声明的变量是永久的,不能用delete删除var语句的使用范围有限,不能在循环或条件语句的条件表达式中使用,但能在for或for-in语句的条件表达式中使用赋值变量变量提升只对var命令声明的变量有效,若变量不是var声明的,就不会发生变量提升var a;console.log(a);a=1;显示结果是原创 2020-10-07 21:45:10 · 75 阅读 · 0 评论 -
1-基础
JavaScript构成JavaScript核心(ECMAScript)文档对象模型(DOM)浏览器对象模型(BOM)原创 2020-10-07 16:03:29 · 52 阅读 · 0 评论