零基础入门JavaWeb——JS的基本语法
admin
2024-03-05 09:26:23
0

一、JavaScript的起源

在1995年时,由NetScape公司在网景导航者浏览器上首次设计实现而成。NetScape在最初将其脚本语言命名为LiveScript,因为NetScape和SUN公司合作,网景公司管理层希望蹭Java的热度,因此取名为JavaScript。

JavaScript共分成三部分:

  1. ECMAScript(基本语法)
  2. BOM(浏览器对象模型)
  3. DOM(文档对象模型)

二、JavaScript的特性

2.1 脚本语言

JavaScript是一种解释型的脚本语言。不同于C、C++、Java等语言先编译后执行,JavaScript不会产生编译出来的字节码文件,而是在程序的运行过程中对源文件逐行进行解释。

2.2 基于对象

JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。但是面向对象的三大特性:封装、继承、多态中,JavaScript能够实现封装,可以模拟继承,不支持多态,所以它不是一门面向对象的编程语言。

2.3 弱类型

JavaScript中也有明确的数据类型,但是声明一个变量后它可以接收任何类型的数据,并且会在程序执行过程中根据上下文自动转换类型。

2.4 事件驱动

JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。

2.5 跨平台性

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

三、JavaScript的基本语法

3.1 JavaScript的引入方式

3.1.1 内部脚本方式

  1. JavaScript代码要写在script标签内
  2. script标签可以写在文档内的任意位置
  3. 为了能够方便查询或操作HTML标签(元素)script标签可以写在body标签后面

3.1.2 外部脚本方式

在script标签内通过src属性指定外部xxx.js文件的路径即可。

  1. 引用外部JavaScript文件的script标签里面不能写JavaScript代码
  2. 先引入,再使用
  3. script标签不能写成单标签


JS的引入方式




3.2 声明和使用变量

3.2.1 JavaScript数据类型

基本数据类型

  1. 数值型number:JavaScript不区分整数、小数
  2. 字符串string:JavaScript不区分字符、字符串;单引号、双引号意思一样。
  3. 布尔型boolean:true、false

在JavaScript中,其他类型和布尔类型的自动转换。

  • true:非零的数值,非空字符串,非空对象
  • false:零,空字符串,null,undefined

引用数据类型

  1. 所有new出来的对象
  2. 用[]声明的数组
  3. 用{}声明的对象

3.2.2 变量

  1. 关键字:var,其实ECMAScript6之后建议使用let
  2. 数据类型:JavaScript变量是弱类型的,可以接收任意类型的数据
  3. 标识符:严格区分大小写
  4. 变量使用规则:如果使用了一个没有声明的变量,那么会在运行时报错;如果声明了一个变量没有初始化,那么这个变量的值为undefined。

3.3 函数

3.3.1 内置函数

内置函数就是JavaScript中内置好的函数,可以直接使用。

弹出警告框

    // 弹出警告框:alert()alert("警告一下!")

弹出确认框

    //弹出确认框:confirm(),可以让用户选择确定或者取消,选择确定就返回true,否则就返回false。var flag = confirm("你确定要删除吗?")alert(flag)

在控制台打印日志

    //在控制台输出日志:console.log()console.log("我是一条日志.....")

3.3.2 声明函数

声明函数就是使用者自己定义一个函数,有两种写法:

写法1:命名函数

    function showMessage(message) {console.log(message)}

写法2:匿名函数

    var sum = function (a,b) {console.log("求"+a+"和"+b+"的和")return a+b}

声明一个函数,相当于创建了一个函数对象,将这个对象的引用赋值给变量total。如果不给这个对象赋值,可以将其作为匿名函数使用。

3.3.3 调用函数

JavaScript中函数本身就是一种对象,函数名就是这个对象的引用。而调用函数的格式是:函数引用()



声明和创建函数





3.4 对象

JavaScript中没有类的概念,对于系统内置的对象可以直接创建使用。

3.4.1 使用new关键字创建对象

    // 在JS中使用new的方式创建对象var obj1 = new Object()// 给对象的属性赋值obj1.age=10obj1.name="jay"obj1.address = "中国台湾省台北市"console.log(obj1.name)

3.4.2 使用{}创建对象(常用)

    // 在JS中使用{}的方式创建对象var obj2 = {"name":"张飞","age":30,"address":"蜀国",}console.log(obj2.name)

3.4.3 给对象设置函数属性

    // 在JS中使用{}的方式创建对象var obj2 = {"name":"张飞","age":30,"address":"蜀国","showMessage":function (message) {console.log(message)}}console.log(obj2.name)obj2.showMessage(obj2.name)

3.4.4 this关键字

this关键字只有两种情况:

  • 在函数外面:this关键字指向window对象(代表当前浏览器窗口)
  • 在函数里面:this关键字指向调用函数的对象


this的介绍





3.5 数组

3.5.1 使用new关键字创建数组

// 创建数组对象
var array = new Array();

3.5.2 使用[]创建数组



JS的数组




3.6 JSON

3.6.1 JSON格式的用途

在开发中涉及到跨平台数据传输,JSON格式是首选。

3.6.2 JSON格式的说明

JSON数据两端要么是{},要么是[]

  1. {}定义JSON对象
  2. []定义JSON数组
  3. JSON对象的格式是:{key:value,key:value}
  4. JSON数组的格式是:[{key:value,key:value},{key:value,key:value}]
  5. key的类型固定是字符串类型
  6. value的类型可以是基本数据类型,也可以是引用类型(JSON对象或JSON数组)


JSON的介绍





3.6.3 JSON对象和JSON字符串互转



JSON转换




学海无涯苦作舟

相关内容

热门资讯

加盟店转自营推高成本,霸王茶姬... 记者 郑淯心 经历上一季度的亏损后,5月29日,霸王茶姬(NASDAQ:CHA)发布的财报显示,20...
颈肩腰腿疼反复不好? 坐久了脖子僵硬、低头久了肩膀酸痛、弯腰起身腰就刺痛,如今颈肩腰腿疼早已不是老年人的专属问题,越来越多...
段永平,再捐1万股茅台 综合自 财联社、投行圈子 近日,据多家媒体报道,知名企业家、投资家段永平向安福县慈善会无偿捐赠所持贵...
原创 “... 下一个独角兽,是谁? 北京,又交出了一份答卷。 最新发布的《中国独角兽企业发展报告2026》显示,...
产能不饱和还要扩产,手握巨款仍... 近日,千红制药(002550.SZ)披露了《向不特定对象发行可转换公司债券并在主板上市募集说明书(二...
原创 大... 科创板有点太过于热闹了,此前有长鑫科技和长江存储,这两家公司上市的消息刚刚消停了一会,这不今天早上又...
国内一级市场投融资周数据超11... 财联社5月31日消息,本周(5.23-5.29)国内统计口径内共发生112起投融资事件,较上周114...
原创 狂... 最近盯盘的时候,发现了一个让人后背发凉、值得警惕的数据:美国具备市场风向标意义的 30 年期长期国债...
原创 站... 特朗普觊觎加拿大的领土,而卡尼则直指美国霸权的根基,他心里很清楚,想要制衡对方,最有力的力量非中国莫...
可买车买房!亚辉龙拟向员工提供... 北京商报讯(记者 董亮)5月29日晚间,亚辉龙(688575)披露公告称,拟按《员工借款管理制度》的...
财政部在香港发行60亿元人民币... 新华社北京5月30日电 《中国证券报》30日刊发文章《财政部在香港发行60亿元人民币绿色主权债券》。...
全球顶级创作者为何齐聚上海——... 5月30日晚,2026互联网优质内容创作盛典(TOP CREATORS GALA,简称TCG)将在上...
全部卸任!百亿基金经理,刚刚发... 爆款产品基金经理宣布卸任! 5月30日,德邦基金发布公告,旗下基金经理雷涛因个人原因卸任其管理的全部...
利润腰斩也要卷AI!小米模型永... 作者 | 华卫 今日,小米宣布永久性翻新整个模型定价体系。价格调整公告称,MiMo-V2.5 系列 ...
超声电子2025年研发投入2.... 超声电子(000823)披露2025年年度报告。报告期内,公司全年研发投入达2.88亿元,同比增长0...
原创 一... 雷达财经出品 文|丁禹 编|孟帅 净利润由盈转亏、毛利率暴跌,一季度的理想汽车过得并不“舒坦”。 今...
尾盘,生变!02513,“一字... 【导读】“老登”反击,尾盘多股异动,智谱直线闪崩 中国基金报记者 泰勒 大家好啊,今天的市场,又让泰...
菊乐股份北交所IPO过会,九年... 蓝鲸新闻5月29日讯(记者 朱欣悦)5月29日,北交所上市委2026年第53次审议会议结果显示,四川...