一.Javascript的含义
是一种解释性的语言,主要给网页添加各色各样的动态功能,同时为用户提供浏览效果。
二.JavaScript的主要特点
1. 简单性2. 动态性3. 安全性4. 跨平台性
三.JavaScript的组成
1. ECMAScript :描述语言的语法和基本对象2. BOM:描述网页内容的方法和接口3. DOM:描述与浏览器进行交互的方法和接口
四.JavaScript的三种引入方式
1.标签内引入
2.内部引入
3.外部引入
五.javaScript语法的基本要求
1.按照顺序依次执行2.严格区分的大小写3.javascript中的结束分号不能省略4.javascript中会忽略空白符和换行符
六. JavaScript常用的调试方法
1.alert() 2.confirm(); 3.prompt(); 4.console.log(); 5.document.write()
七.表示符的使用规则
1.只用用数字、字母、下划线、$2.不能使用数字开头3.区分大小写4.不能用关键字5. 驼峰命名法
八.javaScript中常见的数据类型
1.Number2.Boolean3.undefined4.Null5.String6.Object
九. 算术运算符
+、-、*、/、%。
1.+ 运算符:运算规则 * 如果两个都是Number则,则就按照普通的数学加法运算。 * 如果有一个是字符串,就按照字符串的串联的方式连接。(如果另外一个不是字符串,则先转换成字符串再连)。 * 如果有一个是NaN,则结果就是NaN。 *如果同时是Infinity或-Infinity,则结果就是Infinity或-Infinity。 * 如果一个是Infinity另外一个是-Infinity,则结果为NaN。2.- 运算符:运算符规则 - 如果两个都是Number则,则就按照普通的数学减法运算。 - 如果有一个操作数是字符串、布尔值、null 或undefined,则先在后台调用Number()转型函数将其转换为数值,然后再根据正常减法计算。如果转换的结果有一个是NaN,则减法的结果就是NaN * 如果有一个操作数是对象,则调用对象的valueOf()方法以取得表示该对象的数值。如果得到的值是NaN,则减法的结果就是NaN。如果对象没有valueOf()方法,则调用其toString()方法并将得到的字符串转换为数值(了解)3.* 运算符:运算符规则。 - 运算规则同减法。1. / 运算符:运算规则 - 就是普通的除法运算,运算规则同 *4. %运算符:运算规则 - 求余(求模)运算。
十.javaScript中常见的运算符
1.逻辑与 ( 只要有一个是false,则返回false)2.逻辑或 (只要有一个是true,结果就是true)3.逻辑非 (先转换成Boolean值,再取反得到最终的结果)### &&()和|| 的结果总结:1. 如果第一个能够决定结果,则结果就是第一个表达式的值2. 如果第一个不能决定结果,则结果就是第二个表达式的值
十一.JavaScript中的判断语句
1.if语句 >##### 语法:if(condition){ //语句1 }2.if...else语句 >##### 语法:if(condition){ //语句1 } else{ //语句2 }3. if...else if...elsif... 语句 >##### 语法:if(condition1){ //语句1 } else if(condition2){ //语句2 } ... else if(condition3){ //语句n }4.if...else if...else ...else语句 >##### 语法:if(condition1){ //语句1 } else if(condition2){ //语句2 } ... else if(condition3){ //语句n } else{ //else语句 }5. switch条件语句 >##### 语法: switch (expression) { case value1: //语句1 break; case value2: //语句2 break; case value3: //语句3 break; case value4: //语句4 break; default: }
十二.JavaScript中的循环结构
1.for循环 语法: for(表达式1; 表达式2; 表达式3){ //循环体 } >注意: - 3个表达式的都可以省略。 - 对表达式1和表达式3省略,对for循环没有任何影响,只是少执行了代码而已。 - 如果表达式2省略,表示此处为true,那么这个循环就是死循环。 - 如果第一次检查表达式2的时候就是false,则循环体内的代码可能一次也不执行。 2.while循环 语法:while(condition){ } >注意: - condition不能省略。如果省略为语法错误 - while循环也有可能一次也不执行。 3. do...while循环 语法: do{ //循环体}while(condition); >注意: - condition条件不能省略,省略语法错误。 - 由于先执行在判断,所以,对do...while 循环来说,循环体至少执行一次。
十三. javaScript中的两个特殊控制语句
1.break语句 作用:在循环体中,break会提前结束循环 >例如:for(var i=0;i<6;i++){if(i==5){break; } console.log(i); }2.continue语句 作用:在循环体中,continue会结束本次循环,不会执行剩余的代码,不过会继续执行它外层的循环 >例如:for(var i=0 i<10;i++){if(i==6){continue; } }
十四.自定义函数
1.函数的声明
语法:
function 函数名(形式参数1, 形式参数2, ...){
//函数体
}
例如:
function mer(a,b,c){
var m=a+b;
}
2.函数的调用
语法:
方法名(实参1,实参2);
例如:
function mer(m,n){
var m=n;
}
alert(mer(10));
3.函数的命名规范
十五.变量的作用域
##### 1.全局变量 定义: 在函数外部声明的变量 例如: var m=13; alert(m); ##### 2.局部变量 定义: 在函数体内部声明的变量 >例如: function f(){ var m="234"; alert(m); } ##### 3.匿名函数1.定义:没有声明函数名的函数 >例如: var m=function(){ alert("Hello world"); } m();2.注意点: * 匿名函数除了没有函数名以外,与其他函数没有任何区别 * 如果想要在其他地方调用该函数,则需要先声明一个变量,并把该函数的值赋值给声明的变量 * 可以将变量名做为函数名调用3.匿名函数的作用 * 可以将函数表达式存储在变量中 * 可以将匿名函数当作参数来传递 ##### 4.匿名函数的立即执行1.语法: * (function(){ alert("立即执行"); }());2.注意点: * 要把匿名函数用一对圆括号括起来,作为一个整体看 * 在函数的最后面添加一对圆括号来表示调用函数3.函数递归调用1. 定义: 在函数的内部调用当前的函数2. 需要满足的条件 * 要有结束条件 * 递归不能无限的递归下去,否则会溢出。3. 总结: 函数的调用原理与数据结构栈的实现是一致的。
十六.JavaScript中数组的特点
1.数组的长度是可以动态改变的 2.在同一个数组中可以存储不同的数据类型 3.每一个数组中都有一个 length的属性,表示的是数组中元素的个数
十七.数组的创建
-
数组中的两种基本创建方式
1.字面量的方式
例如:["a", 5, "b",8]
2.构造函数
例如: new Array(数组长度);
注意点:
在构造函数创建数组对象时,最后一个元素后面不需要添加逗号
在构造函数中只传入一个Number值,这个值一定要大于 0
在构造函数创建数组对象时,new关键字可以省略
3.修改和访问数组中的元素
例如:
var arr=[10,20,30,40,50,60]; alert(arr[0]); arr[3]=100;
4.数组中的长度
例如:
var arr = [10, 20, 60, 5, 7];
alert(arr.length);
十八.数组的遍历
1.遍历数组的方法
* 普通的for循环 * for...in * for each * for... of
2.普通for循环的遍历
例如:
var arr=[20,30,50,60,78]; for (var i=0;i<arr.length;i++){ console.log(arr[i]); }
3.for ...in循环的遍历
例如:
var arr=[50,30,60,12,45]; for (var index in arr){ console.log(arr); } ##### 注意:
for...in遍历数组时,遍历出来的是数组的下标
4.for each方法的遍历
例如:
var arr=[23,4,56,7,80]; arr.forEach(function(ele,index){ alert(ele); });
十九.javaScript中数组的常用方法
1.转换方法:
toString()
作用:返回由数组中每个值得字符串形式拼接而成的一个以逗号分割的字符串
例如:
var arr=[2,3,45,6,78]; alert(arr.toString());
2.join()方法
作用:可以使用指定的连接符连接
例如:
var arr = [50, 20, 10, 5, 15, 6];
alert(arr.join("="));
二十.JavaScript中站的方法
1.入栈 ( push() )
作用:把新的元素添加到数组的后面
2.出栈 ( pop() )
作用:把数组中的最后一个元素从数组中移除
例如:
var arr=[2,3,4,5,67];var num=arr.push("100");var hom=arr.pop(); alert(num); alert(hom);
3.队列方法
1.shift()
作用:从队列中的头部移除元素
2.unshift()
作用:向队列尾部添加元素
例如:
var arr=[23,45,67];var num=arr.shift();var bak=arr.unshift(); alert(num); alert(bak);
4.数组中的倒序
reverse():
作用:将数组中的元素进行倒序
例如:
var arr=[34,56,7,9];
arr.reverse();
alert(arr);
5.javaScript中查找指定元素在数组中的索引
1. indexOf(item,num)
作用:从num的位置开始向后查找item第一次出现的位置
2.lastIndex(item,num)
作用:从num的位置开始向前查找item第一次出现的位置
例如:
var arr=[2,3,5,3,6,2,8,8]; alert(indexOf("2",2); alert(lastIndeOf("3",4);
6.获取新的数组
1.concat(arrayX,arrayX,......,arrayX)
作用:用于连接多个数组,并且不会对原数组做任何的改变
例如:
var arr=[2,34,56]; var arr1=[87,65,43]; var newArr=arr.concat(arr1); alert(newArr);
2. slice(start,end)方法
作用:截取数组,并且返回结渠道的新数组
例如:
var arr=["a","s","d","f","g"]; var arr1.slice(0,3); alert(arr1);
3.splice(index,howmany,item1,.....,itemX) 方法
作用:向数组中添加元素,删除元素,替换元素
例如:
var arr=[2,3,4,"as",d,f]; var num= arr.splice(1,3); alert(num); var num1=arr.splice(1,0,"m","n"); alert(num1); var num2=arr.splice(1,2,"2","3"); alert(num2);
二十一.javaScript中数组的检测
1.instanceof运算符
作用:会返回一个Boolean值,指出对象是否是特定构造函数的一个实例
例如:
var arr = [];
alert(arr instanceof Array);
2.Array.isArray()方法
作用:判断一个变量是不是数组,是则返回true,否则返回false
例如:
var arr = [];
alert(Array.isArray(arr))
二十二. JavaScript中字符串的操作
1.注意:
javaScript中字符串是不可变的,需要创建一个新的字符串
2. 字符串的创建
-
字符串直接量
例如:
var s = "good";
alert(typeof s);
-
通过String()转换函数
==例如:==
var s = String(123);
alert(typeof s);
二十三.JavaScript中字符串常见的方法
##### 1.s.charAt(index) 作用:返回的是指定位置的字符 >例如: var s = "a你好bcd"; alert(s.charAt(0)); ##### 2.s.charCodeAt(index) 作用:返回指定位置的字符的 Unicode 编码 >例如: var s = "a你好bcd"; alert(s.charCodeAt(0)); ##### 3.字符串连接方法 ###### 1.s.concat(stringX,stringX,...,stringX) * 作用:用于连接两个或者多个字符 * 注意:1.并不会改变原字符串2.可以使用字符串连接符(+) >例如: var s = "你好"; alert(s.concat("啊", "凌源")); ##### 4.查找子字符串出现的位置 ###### 1. s.indexOf(searchvalue,fromindex) 作用:可以返回某个指定的字符串值在字符串中首次出现的位置 >例如: var v = "abcabdefgh"; alert(s.indexOf("ab")); ###### 2.s.lastIndexOf(searchvalue,fromindex) 作用:可以返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索 >例如: var s = "abcabcdab"; alert(s.lastIndexOf("ab")); ##### 5.js字符串的截取 ###### 1.s.substring(start,stop) 方法 作用:用于提取字符串中介于两个指定下标之间的字符 >例如: var s="asdfghj"; alert (s.substring(1)); ###### 2.s.substr(start, length) 方法 作用:可以在字符串中抽取从start下标开始的指定数目的字符 >例如: var s="asdfghj"; alert (s.substr(1)); ###### 3.s.slice(start,end) 方法 作用:可以提取字符串的某个部分,并且以新的字符串返回被提取的部分 >例如: var s="asdfghj"; alert (s.slice(1,3)); ##### 6.大小写转换方法 ###### 1.s.toUpperCase 作用:字符串中所有的字符转变成为大写 >例如: var s = "abcAbc"; alert(s.toUpperCase()); ###### 2.s.toLowerCase 作用:字符串中的所有的字符转变成小写 >例如: var s = "ABcAbc"; alert(s.toLowerCase()); ##### 7.去除字符串首尾空白字符 s.trim() : 作用;只是去除字符串的首尾的所有空白字符. 字符串内部的空白字符不做任何处理 >例如: var s = " \n \t ABc Abc \t \n \t"; alert(s.trim()); ##### 8.字符串替换、匹配、搜索方法 ###### 1. s.replace(regexp/substr,replacement)方法 作用:用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。 >例如: var s = "abcaba"; var newStr = s.replace("ab", "js"); alert(newStr); ###### 2. s.match(匹配值) 作用:在字符串内检索指定的值 >例如: var s = "abcaba"; var arr = s.match("ab"); alert(arr); ###### 3.s.search(匹配的参数) 作用:始终从字符串的头部开始查找 >例如: var s = "abcaba"; var arr = s.search("ab"); alert(arr); ##### 9.字符串比较 * == 比较两个字符串的==内容==是否相等 * === 恒等 只有类型和内容都相等的时候才返回true ##### * s.localeCompare(other): - 如果字符串在字母表中应该排在字符串参数之前,则返回一个负值; - 如果字符串的等于字符串参数,返回0; - 如果字符串在字母表中应该排在字符串参数之后,则返回一个正数; ##### 10.字符串切割方法 s.split(separator,howmany)方法 作用:用于把一个字符串分割成字符串数组。 >例如: var s = "How do you do"; var arr = s.split(" "); alert(arr);
二十四.JavaScript中Math对象
1.常用属性
Math.PI : π的值
Math.E: 自然对数的底数
2.Math对象常用方法
Math.abs(x) : 返回x的绝对值
Math.max(任意个数值) :返回传入的数值中的最大值
Math.min(任意个数值) :返回传入的数值中的最小值
Math.ceil(number) : 返回大于等于number的最小整数(向上取整)
Math.floor(number) : 返回小于等于number的最大整数(向下取整)
Math.round(number): 四舍五入
Math.pow(x, y) : 返回 x^y
Math.random() : 返回 0-1之间的随机小数
Math.sin(x) 正弦, Math.cos(x) 余弦, Math.tan(x) 正切
二十五.BOM核心---window对象
1. 获取全局变量的方式
this
window.age
*window.sagAge()
例如:
var num=24; function sagAge(){ alert(this.num); } alert(window.age); window.sagAge();
2. window窗口大小
==获取浏览器窗口大小==
1.在Internet Explorer(9+)、Chrome、Firefox、Opera 以及 Safari
window.innerHeight - 浏览器窗口的内部高度 window.innerWidth - 浏览器窗口的内部宽度
2. 针对于 Internet Explorer 8、7、6、5
document.documentEelement.clentWidth document.documentEelement.clentWidth
3.为了兼容浏览器的版本可以使用下面的代码
var w=window.innerWidth || documentEelement.clentWidht; var h=window.innerHeight || documentEelemlent.clentHeight;
3.调整窗口大小
window.resize(w,h): 调整到指定的大小
-
resizeBy(deltW, deltH): 增加指定窗口的宽和高
例如:
6c04bd5ca3fcae76e30b72ad730ca86d a36f98abdd09bab02ca6ee69ee733920将窗口调整到指定大小65281c5ac262bf6d81768915a4a77ac0 076402276aae5dbec7f672f8f4e5cc81 5185190feeb1c07def9f67065eea3a7f宽和高增加的像素65281c5ac262bf6d81768915a4a77ac0 8019067d09615e43c7904885b5246f0a function to () { alert("我要缩小了"); window.resizeTo(200, 300); } function by () { alert("我开始增大了"); window.resizeBy(30, 30); } 2cacc6d41bbb37262a98f745aa00fbf0 36cc49f0c466276486e50c850b7e4956
二十六. window中的定时器
1.window对象中定时器的功能方法
超时调用 setTimeout()
例如:
/* setTimeout(code,millisec) 参数1:要执行代码。一般传入一个函数。(当然也可是字符串形式的代码,但是不建议使用) 参数2:多长时间后执行参数1中的代码。 单位毫秒 */<script type="text/javascript"> //传入函数的时,函数名不要加括号。(因为方法不是我们调用,是引擎帮助我们调用) // setTimeout方法会返回一个值,表示超时调用的id,可以在任务执行前取消任务。var timeOutId = window.setTimeout(go, 3000); // 3秒中之后执行函数go中的代码function go () { window.open("http://www.yztcedu.com") } window.clearTimeout(this.timerId); //取消这个超时调用,如果超时调用已经执行完毕,就什么也不会发生。</script>
-
周期调用 setInterval()
例如:
<code class="xml">/* setInterval(code,millisec) 参数1:每隔一段时间执行一次的代码。 一般是一个函数 参数2:周期性执行的时间间隔。 单位毫秒 */<span class="hljs-tag"><<span class="hljs-name">body><span class="hljs-tag"><<span class="hljs-name">h1 <span class="hljs-attr">id=<span class="hljs-string">"time"><span class="hljs-tag"></<span class="hljs-name">h1><span class="hljs-tag"><<span class="hljs-name">script <span class="hljs-attr">type=<span class="hljs-string">"text/javascript"><span class="javascript"> <span class="hljs-comment">//显示时间,每秒钟变化一次。<span class="hljs-built_in">window.setInterval(<span class="hljs-function"><span class="hljs-keyword">function(<span class="hljs-params">) {<span class="hljs-keyword">var timeElement = <span class="hljs-built_in">document.getElementById(<span class="hljs-string">"time"); <span class="hljs-comment">//找到h1标签<span class="hljs-keyword">var msg = <span class="hljs-keyword">new <span class="hljs-built_in">Date().toLocaleString(); timeElement.innerHTML = msg; <span class="hljs-comment">//设置h1标签中的值 }, <span class="hljs-number">1000);<span class="hljs-tag"></<span class="hljs-name">script><span class="hljs-tag"></<span class="hljs-name">body> //清除间隔定时器 window.clearInterval(id);</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code><br/><br/>
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入学习交流群
以上是汇总JavaScript中常用的知识点的详细内容。更多信息请关注PHP中文网其他相关文章!

Node.js擅长于高效I/O,这在很大程度上要归功于流。 流媒体汇总处理数据,避免内存过载 - 大型文件,网络任务和实时应用程序的理想。将流与打字稿的类型安全结合起来创建POWE

Python和JavaScript在性能和效率方面的差异主要体现在:1)Python作为解释型语言,运行速度较慢,但开发效率高,适合快速原型开发;2)JavaScript在浏览器中受限于单线程,但在Node.js中可利用多线程和异步I/O提升性能,两者在实际项目中各有优势。

JavaScript起源于1995年,由布兰登·艾克创造,实现语言为C语言。1.C语言为JavaScript提供了高性能和系统级编程能力。2.JavaScript的内存管理和性能优化依赖于C语言。3.C语言的跨平台特性帮助JavaScript在不同操作系统上高效运行。

JavaScript在浏览器和Node.js环境中运行,依赖JavaScript引擎解析和执行代码。1)解析阶段生成抽象语法树(AST);2)编译阶段将AST转换为字节码或机器码;3)执行阶段执行编译后的代码。

Python和JavaScript的未来趋势包括:1.Python将巩固在科学计算和AI领域的地位,2.JavaScript将推动Web技术发展,3.跨平台开发将成为热门,4.性能优化将是重点。两者都将继续在各自领域扩展应用场景,并在性能上有更多突破。

Python和JavaScript在开发环境上的选择都很重要。1)Python的开发环境包括PyCharm、JupyterNotebook和Anaconda,适合数据科学和快速原型开发。2)JavaScript的开发环境包括Node.js、VSCode和Webpack,适用于前端和后端开发。根据项目需求选择合适的工具可以提高开发效率和项目成功率。

是的,JavaScript的引擎核心是用C语言编写的。1)C语言提供了高效性能和底层控制,适合JavaScript引擎的开发。2)以V8引擎为例,其核心用C 编写,结合了C的效率和面向对象特性。3)JavaScript引擎的工作原理包括解析、编译和执行,C语言在这些过程中发挥关键作用。

JavaScript是现代网站的核心,因为它增强了网页的交互性和动态性。1)它允许在不刷新页面的情况下改变内容,2)通过DOMAPI操作网页,3)支持复杂的交互效果如动画和拖放,4)优化性能和最佳实践提高用户体验。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。