JavaScript 的初步学习下篇

这篇具有很好参考价值的文章主要介绍了JavaScript 的初步学习下篇。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言

函数

语法格式

创建函数/函数声明/函数定义

function 函数名(形参列表) {
	函数体
	return 返回值;
}

函数调用

函数名(实参列表) // 不考虑返回值
返回值 = 函数名(实参列表) // 考虑返回值

注: 函数定义并不会执行函数体内容, 必须要调用才会执行. 调用几次就会执行几次.

js 中定义和调用的顺序是不做要求

可以先定义,再调用; 也可以先调用,再定义.

1.先定义,再调用(推荐)

// 定义函数
function hello() {
	console.log("hello");
}
// 调用函数
hello();  

2.先调用,再定义

// 调用函数
hello();
// 定义函数
function hello() {
    console.log('hello');
}		

函数的基本使用

示例代码

JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言

运行效果
JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言

undefined10相加,输出为: NaN . Nan => Not a Number
undefined + "10"中把undefined 转换成“undefined” 进行运算

小知识: 浏览器加载 html 就会从上到下的依次执行每个Script标签里的代码


函数的参数

代码示例

JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言

运行效果
JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言

如果实参个数少于形参个数,多出来的形参的值就是 undefined;
如果实参个数更多,多出来的实参,相当于没用上(一般情况下).
注: 当形参和实参个数不匹配的时候,是不会报错的,只会尽可能的去执行!!!

实参个数多于形参的特殊情况

可以通过一个特殊的变量arguments,能拿到所有的实参的.

代码示例
JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言

运行结果
JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言


函数表达式

另外一种函数的定义方式

代码示例

let add = function() {
    let result = 0;
    for(let elem of arguments) {
        result += elem;
    }
    return result;
}

JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言

运行效果

JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言

代码讲解

JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言

add变量的类型,就叫做 function类型,对于function类型的变量是可以调用的,类似于C语言的函数指针.

js 中,可以像普通变量一样,把函数赋值给一个变量, 同时也可以把函数作为另一个函数的参数.或者把函数作为另一个函数的返回值(这一点, java中无法做到), 这个特性,称为,函数在 js 中是"一等公民".


js 变量的作用域

当代码中访问某个变量的时候要去哪里找这个变量?

js 会先找当前作用域,如果当前没有,就往上层作用域找…一直往上直到全局作用域.如果还找不到,报错/undefined

示例代码1
JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言

运行结果
JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言

代码示例2

如果当前没有num,就往上层作用域找num.

JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言

运行效果
JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言


对象

背景知识

js 不是面向对象的编程语言,但是这里存在对象概念,意味着 js 中关于对象的设定和 Java 差别很大.js 中没有封装,继承,多态.甚至没有类,类相当于对象的图纸,但是 js 中没有类.所有的对象类型都是object .

带你认识对象

对象的基本概念:对象是指一个具体的事物.
在 JS 中, 字符串, 数值, 数组, 函数都是对象.

js 的对象,有属性,也有方法(方法本质上也是属性,因为函数在js中是一等公民).

  • 属性: 事物的特征
  • 方法: 事物的行为.

1.使用 { } 创建对象[常用]

代码示例
JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言

运行结果
JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言

小结

  • 使用 { } 创建对象
  • 属性和方法使用键值对的形式来组织.
  • 键值对之间使用 , 分割. 最后一个属性后面的 , 可有可无
  • 键和值之间使用 : 分割.
  • 方法的值是一个匿名函数

2.使用 new Object 创建对象

代码示例
JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言

运行效果
JavaScript 的初步学习下篇,学习笔记,javaEE初阶的学习,javascript,学习,开发语言

可以随时使用 student.name = '小和尚'; 这样的方式来新增属性.
使用 student.sing = function() { console.log('小和尚在唱张靓颖的"如果这就是爱情"'); } 来新增方法.
js 中的对象里面有什么属性,有什么方法,都不是提前约定好的,而是随时可以添加的.

小知识: 在 js 的 ES6 版本中,引入了 class 关键字. js 就也可以定义“类",再通过类创建实例(更接近于java了).
注: js 和 java 之间,相关性是非常大, 最大的差别: 动态类型/弱类型.


博主推荐:

如果你对于编程语言的语法比较感兴趣,想知道更多的语言流派, 推荐阅读: <<七周七语言>>(第一版有7种,第二版也有七种),共十四种风格各异的语言(大部分都是小众语言).
关键字. js 就也可以定义“类",再通过类创建实例(更接近于java了).
注: js 和 java 之间,相关性是非常大, 最大的差别: 动态类型/弱类型.文章来源地址https://www.toymoban.com/news/detail-761509.html

到了这里,关于JavaScript 的初步学习下篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JavaEE初阶】 JavaScript基础语法——贰

    该处的语法规则与Java语法相同,只是简单提一下 基本语法格式 条件表达式为 true, 则执行 if 的 { } 中的代码 是 if else 的简化写法. 条件为真, 返回表达式1 的值. 条件为假, 返回表达式2 的值 这里需要注意的是: 三元表达式的优先级是比较低的 更适合多分支的场景. 语法规则如

    2024年02月05日
    浏览(39)
  • 【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识

    JavaEE进阶首章 在之前的学习中,我们已经掌握了Servlet的框架去完成一个项目,而目前企业正在使用的技术则是我们接下来重点学习的! 本文章为 JavaEE进阶的第一篇文章,JavaEE进阶我们将学习: Spring全家桶 Spring / Spring Boot/ Spring MVC ,Spring Cloud为社招必须,校招不须 MyBatis

    2024年02月17日
    浏览(41)
  • JavaScript 的初步学习上篇

    JavaScript 之父 布兰登 . 艾奇 (Brendan Eich) ,1995 年, 用 10 天时间完成 JavaScript 的设计. 两者之间就像老婆和老婆饼的关系,即毫无关系, JavaScript 最初的名字叫LiveScript,为了蹭 Java 热度,才改名为 JavaScript.JavaScript 最初只是为了进行前端页面开发,后来 JavaScript 被赋予了更多的功能,可以

    2024年02月04日
    浏览(61)
  • PaddleOCR学习笔记2-初步识别服务

    今天初步实现了网页,上传图片,识别显示结果到页面的服务。后续再完善。 采用flask + paddleocr+ bootstrap快速搭建OCR识别服务。 代码结构如下: 模板页面代码文件如下: upload.html : result.html :  主要视图代码文件如下: 启动flask应用,测试结果如下:

    2024年02月09日
    浏览(39)
  • 【JavaScript】事件监听:表单事件(下篇)

    目录 八、keydown: 当用户按下键盘上的任意键时触发。 九、keyup: 当用户释放键盘上的键时触发。 十、keypress: 当用户按下键盘上的字符键时触发。 十一、focusin: 当表单元素或其子元素获得焦点时触发。 十二、focusout: 当表单元素或其子元素失去焦点时触发。 十三、cut: 当用户

    2024年01月24日
    浏览(44)
  • 【JavaEE初阶】CSS

    摄影分享~ 层叠样式表。(Cascading Style Sheets) CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结构分离。 CSS基本语法规则: 选择器+若干属性声明 . 选择器决定下面的这些声明针对谁起作用(修改谁). 声明决定修改哪些内容. 声

    2024年02月13日
    浏览(45)
  • JavaEE初阶 - 文件/IO

    我们先来认识狭义上的文件(file)。针对硬盘这种持久化存储的I/O设备,当我们想要进行数据保存时,往往不是保存成一个整体,而是独立成一个个的单位进行保存,这个独立的单位就被抽象成文件的概念,就类似办公桌上的一份份真实的文件一般。 文件除了有数据内容之外,

    2024年02月02日
    浏览(37)
  • 【JavaEE初阶】HTML

    摄影分享~ HTML描述了网页的骨架,它是一种标签化的语言。 第一步,在文件下创建一个txt文档。 第二步,打开txt文件写代码。 第三步,修改文件名后缀为html。 第四步,双击打开文件。 前端代码的运行环境是浏览器,浏览器就像 Java 中的 JVM 一样,浏览器可以解析 html,cs

    2024年02月12日
    浏览(34)
  • 【JavaEE初阶】 Callable 接口

    Callable 是一个 interface . 相当于把线程封装了一个 “返回值”. 方便程序猿借助多线程的方式计算结果 比如我们有以下需求 创建线程计算 1 + 2 + 3 + … + 1000, 如果我们不使用 Callable 不使用 Callable的实现过程如下: 建一个类 Result , 包含一个 sum 表示最终结果, lock 表示线程同步使

    2024年02月06日
    浏览(36)
  • 【JavaEE初阶】死锁问题

    目录  一、死锁的三种典型场景 1、一个线程,一把锁 2、两个线程,两把锁 3、N个线程,M把锁 死锁,是多线程代码中的一类经典问题。我们知道加锁是能解决线程安全问题的,但是如果加锁的方式不当,就可能产生死锁。 对于 不可重入锁 来说 : 一个线程没有释放锁, 然后

    2024年02月05日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包