JS基础知识点大汇总_js基础知识点总结-程序员宅基地

技术标签: java  

JavaScript基础知识汇总

1、js的简介
JavaScript 是⼀种客户端脚本语⾔(脚本语⾔是⼀种轻量级的编程语⾔,语法和java类似。
JavaScript 通常被直接嵌⼊ HTML ⻚⾯,由浏览器解释执⾏
JavaScript 是⼀种解释性语⾔(就是说,代码执⾏不进⾏预编译)。
特点:弱类型和基于对象。(因为⾯向对象需要具有封装、继承、多态的特征)
JavaScript语⾔中包含三个核⼼:ECMAScript基本语法、DOM、BOM

2、 前端Web技术的组成
HTML、CSS、JavaScript
1)HTML是⼀种标记语⾔,⽤来结构化我们的⽹⻚内容并赋予内容含义,例如定义段落、标题和数据表,或在⻚⾯中嵌⼊图⽚和视频。
2)CSS 是⼀种样式规则语⾔,可将样式应⽤于 HTML 内容, 例如设置背景颜⾊和字体,在多个列中布局内容。
3)JavaScript 是⼀种脚本语⾔,可以⽤来创建动态更新的内容,控制多媒体,制作图像动画,还有很多。

3、js的使用方法
可以像添加CSS那样将 JavaScript 添加到 HTML ⻚⾯中。CSS 使⽤ 元素链接外部样式表,使⽤

<script type="text/javascript" src="my.js"></script>

4、JS的基础语法
1)JS的输出:常用的方式有两种:
document.write() ⽅法将内容写到 HTML ⽂档中
console.log() 写⼊到浏览器的控制台
还有两种不经常使用
window.alert() 弹出警告框
innerHTML 写⼊到 HTML 元素

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>JavaScript实例</title>
 </head>
 <body>
 <h3>测试JavaScript的输出</h3>
 <div id="did">div层</div>
 </body>
 <script>
 //弹出⼀个信息提示框
 window.alert("Hello JavaScript!");
 
 //输出到浏览器⻚⾯中
 document.write("这个是⻚⾯中的输出");
 //通过写⼊HTML标签中,完成⻚⾯中的输出
 document.getElementById('did').innerHTML="div层中的输出";
 //控制台上的输出
 console.log("控制台上的输出");
 </script>
</html>

2)变量的声明,命名规则和规范
使⽤var声明变量;

命名规则:
由字⺟、数字、下划线、$符号组成,不能以数字开头
不能是关键字和保留字,例如:for、 if、while。
区分⼤⼩写
命名规范:
变量名必须有意义,最好见名知意。
遵守驼峰命名法。⾸字⺟⼩写,后⾯单词的⾸字⺟需要⼤写。例如:userName、userPassword

语句的注释
脚本注释: // 单⾏注释 和 /* 多⾏注释 */

5 JS中的数据类型
和JAVA语言类似,分为基本数据类型和引用数据类型
值类型(基本类型):
字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
注意:Symbol 是 ES6 引⼊了⼀种新的原始数据类型,表示独⼀⽆⼆的值。
引⽤数据类型: 对象(Object)、数组(Array)、函数(Function)。

利用typeof操作符获取一个变量的类型
undefined - 如果变量是 Undefined 类型的
boolean - 如果变量是 Boolean 类型的
number - 如果变量是 Number 类型的 (整数、浮点数)
string - 如果变量是 String 类型的 (采⽤""、 ‘’)
object - 如果变量是⼀种引⽤类型或 Null 类型的 如: new Array()/ new String()…
function – 函数类型

typeof "zhangsan" // 返回 string
typeof 3.14 // 返回 number
typeof NaN // 返回 number
typeof true // 返回 boolean
typeof [10,20,30,40] // 返回 object
typeof {
    name:'lisi', age:20} // 返回 object
typeof new Date() // 返回 object
typeof function(){
    } // 返回 function
typeof myCar // 返回 undefined (如果 myCar 没有声明)
typeof null // 返回 object

类型转换
JavaScript 变量可以转换为新变量或其他数据类型:

ECMAScript 中可⽤的 3 种强制类型转换如下:
 Boolean(value) - 把给定的值转换成 Boolean 型;
 Number(value) - 把给定的值转换成数字(可以是整数或浮点数);
 String(value) - 把给定的值转换成字符串;
 使⽤:Number()、parseInt() 和parseFloat() 做类型转换
 Number()强转⼀个数值(包含整数和浮点数)*parseInt()强转整数,
 *parseFloat()强转浮点数
 
 函数isNaN()检测参数是否不是⼀个数字。 is not a number

6 JS中的运算符
主要通过运算符优先级的高低来了解所有常见的运算符

优先级从⾼到底
1. () 优先级最⾼
2. ⼀元运算符 ++ -- !
3. 算数运算符 先 * / %+ -
4. 关系运算符 > >= < <=
5. 相等运算符 == != === !==
6. 逻辑运算符 先 &&||
7. 赋值运算符 = += -= *= /= %=

7 JS流程控制
在任何⼀⻔程序设计语⾔中,都需要⽀持满⾜程序结构化所需要的三种基本结构:
顺序结构
分⽀结构(选择结构)
循环结构
1)分支语句
if 语句 - 只有当指定条件为 true 时,使⽤该语句来执⾏代码
if…else 语句 - 当条件为 true 时执⾏代码,当条件为 false 时执⾏其他代码
if…else if…else 语句 - 使⽤该语句来选择多个代码块之⼀来执⾏
switch…case 语句 (不写break会有穿透的效果)- 使⽤该语句来选择多个代码块之⼀来执⾏
2)循环结构
for - 循环代码块⼀定的次数
for/in - 循环遍在这里插入代码片历对象的属性(举例讲解)

var ob = {
    "name":"张三","age":22,"sex":"男"};
//遍历对象ob中的每个属性
for(key in ob){
    
 //输出属性和对应的属性值
 console.log(key+":"+ob[key]);
}
/*
//输出结果:
name:张三
age:22
sex:男
*/

while - 当指定的条件为 true 时循环指定的代码块
do/while - 同样当指定的条件为 true 时循环指定的代码块

循环中的 break break 和 continue continue 语句
break 语句⽤于跳出循环。
continue ⽤于跳过循环中的⼀个迭代。

8 JS函数
函数(function)是⼀段完成指定任务的已命名代码块。函数可以遵照给它的⼀组值或参数完成特定的任务,并且可能返回⼀个值。

函数的优越性:
控制程序设计的复杂性
提⾼软件的可靠性
提⾼软件的开发效率
提⾼软件的可维护性
提⾼程序的重⽤性
常见的三种定义函数方法
1)function 函数名([参数列表…]){
函数体。。。
[return 返回值;]
}
2)使⽤Function()构造函数来定义函数
3)var 函数名 = function(参数1,参数2,…){函数体};

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wth33/article/details/109686801

智能推荐

Win10下,pycharm中Tensorboard显示问题解决_在pycharm中怎么添加tensorboard-程序员宅基地

文章浏览阅读3.2k次。先附上代码:with tf.Session() as sess: sess.run(tf.global_variables_initializer()) writer = tf.summary.FileWriter('graph/normal_loading', sess.graph) for _ in range(10): sess...._在pycharm中怎么添加tensorboard

【bug】shardingJdbc对于in()的处理_shardingjdbc in-程序员宅基地

文章浏览阅读981次。shardingJdbc2.0.1对于sql条件in为空时的处理小问题_shardingjdbc in

TASK_INTERRUPTIBLE and TASK_UNINTERRUPTIBLE_task_interruptible 和 task_uninterruptible 状 态-程序员宅基地

文章浏览阅读805次。Two states are associated with sleeping, TASK_INTERRUPTIBLE and TASK_UNINTERRUPTIBLE. They differ only in that tasks in the TASK_UNINTERRUPTIBLE state ignore signals, whereas tasks in the TASK_INTERRU_task_interruptible 和 task_uninterruptible 状 态

自动量程万用表的实现原理_电子元器件用指针万用表、数字万用表、自动量程万用表测量原理图解大全教会您怎么看与测的呢?...-程序员宅基地

文章浏览阅读1.8k次。《答:数字万用表测量图解在了解数字万用表测量图解之前,我们全面的看一下万用表知识。万用表,也称作多用表、复用表等,是电子工程师最基本也最不可或缺的测量工具。它的基本功能包括:测量交直流电压、交直流电流、电阻阻值,检测二极管极性,测试电路通断等。有些高档一点的还会包含电容容值测量、三极管测试、脉冲频率测量等。万用表大体可分为两类:指针万用表和数字万用表,先来看图认识一下,如下图。指针万用表、数字万用..._自动量程万用表方案

STM32个人笔记-系统定时器Systick_stm32f091 systick-程序员宅基地

文章浏览阅读605次。Systick:系统定时器,24位,只能递减,存在于内核,嵌套在NVIC中,所有的Cortex-M内核的单片机都具有这个定时器。Systick是24位的,重装载寄存器也为24位,递减计数器也是24位,所以它们最大可为2的24次方。counter在时钟的驱动下,从reload初值开始_stm32f091 systick

交换上的FLAPPING事件 (zhuan)-程序员宅基地

文章浏览阅读6.5k次。今天在学校的一个三层交换上看到持续的日志信息:Host 00:E0:FC:09:BC:F9is flapping between fa0/x and fa0/y.思科对此官方的解释是:Error Message SW_MATM-4-MACFLAP_NOTIF: Host [enet] in [chars] [dec] is flapping between port [chars] and..._cisco switch port-channel mac flapping

随便推点

PyQt5怎么禁用QComboBox的鼠标滚动选值功能?_python pyside6 qspinbox禁用滚轮-程序员宅基地

文章浏览阅读3.2k次,点赞2次,收藏6次。背景在利用下拉框选值的时候,QComboBox是非常好用的空间,但是QComboBox可通过鼠标滚动来修改值,这种的缺点就是不经意间,就修改了下拉框的选值,造成错误。方法重写QComboBox的wheelEvent方案查看QComboBox的鼠标事件名称查看鼠标事件重写鼠标事件:重写构造QComboBox的继承类,并重写该鼠标事件函数。将该类与主文件类放在同一个文件下,即可..._python pyside6 qspinbox禁用滚轮

IIS简介-程序员宅基地

文章浏览阅读7.9k次,点赞4次,收藏32次。IIS全程为Internet Information Service, 是基于运行Microsoft Windows的互联网基本服务,类似于java里面的tomcat,但有不完全一样。IIS是一套环境工具,不是操作系统,是安装在windows上的web平台。IIS是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服...

[MyBatis] MyBatis中对java.util.Date向数据库的java.sql.Timestamp转化_mybatis date 转timestamp-程序员宅基地

文章浏览阅读3.2k次。MyBatis对此,会自动转化以下是Java代码手动转化 Date d = new Date(); System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(d)); Timestamp ts = new Timestamp(d.getTime()); //Date to Timestam..._mybatis date 转timestamp

Scala基础知识(个人总结)-程序员宅基地

文章浏览阅读1.4k次。 声明: 1. 本文为我的个人复习总结, 并非那种从零基础开始普及知识 内容详细全面, 言辞官方的文章 2. 由于是个人总结, 所以用最精简的话语来写文章 _scala基础

Oracle Scheduler Jobs 基本使用_oracle scheduler$_job_run_details 清除-程序员宅基地

文章浏览阅读1.5k次。创建Jobs语法:通过DBMS_SCHEDULER包来创建Jobs,是使用其CREATE_JOB过程。例如:SQL> BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'INSERT_TEST_TBL', job_type => 'STO..._oracle scheduler$_job_run_details 清除

The Oracle Background Processes for Sybase Pros-程序员宅基地

文章浏览阅读153次。The Oracle Background Processes for Sybase Pros a introduce document of oracle[@more@]Page 1The Oracle Bac..._plc flusher命令

推荐文章

热门文章

相关标签