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日
    浏览(37)
  • 【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识

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

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

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

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

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

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

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

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

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

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

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

    2024年02月05日
    浏览(34)
  • javaee初阶———多线程(三)

    T04BF 👋专栏: 算法|JAVA|MySQL|C语言 🫵 小比特 大梦想 此篇文章与大家分享多线程专题第三篇,关于 线程安全 方面的内容 如果有不足的或者错误的请您指出! 我们在前面说过,线程之间是抢占式执行的,这样产生的随机性,使得程序的执行顺序变得不一致,就会使得程序产生不同的结

    2024年04月16日
    浏览(38)
  • JavaEE初阶:多线程 - 编程

    我们在之前认识了什么是多进程,今天我们来了解线程。 一个线程就是一个 \\\"执行流\\\". 每个线程之间都可以按照顺讯执行自己的代码. 多个线程之间 \\\"同时\\\" 执行 着多份代码. 引入 进程 这个概念,主要是为了解决并发编程这样的问题。因为cpu进入了多核心的时代,要想进一步

    2024年02月12日
    浏览(34)
  • 【JavaEE初阶】 线程安全

    线程安全是多线程编程是的计算机程序代码中的一个概念。在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且准确的执行,不会出现数据污染等意外情况。上述是百度百科给出的一个概念解释。换言之,线程安全就是某

    2024年02月08日
    浏览(51)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包