Java Script中值得收藏的学习笔记(总结分享)

今天给大家带来了值得收藏的javascript初级学习笔记,含有很多小知识,赶快码住看一看吧!

Java Script中值得收藏的学习笔记(总结分享)

什么是JavaScript?

JavaScript是一种运行在客户端的脚本语言

基本输入输出语句

功能 语句

打印输出console.log()弹出输出框alert弹出输入框prompt文件写入document.write(’’)小理论:
console.log可以输出任何类型的数据,alert只能输出String类型的数据,且只能输出第一个数据,如果alert输出的是对象会自动调用toString()方法。

变量

声明变量 var (name)

一些注意事项

一次声明多个变量的时候必须用逗号进行隔开,而且必须换行,写在同一行的多个声明变量会无效。

立即学习“Java免费学习笔记(深入)”;

未初始化的变量直接输出结果是undfined

变量的命名规范: 字母数字下划线美元符号(不以数字开头)

变量初始化中,单引号和双引号没有区别

数据类型

JavaScipt是一种> 动态/弱类型 语言

Num数字型 Boolean布尔型 Str字符串型 Undefined未知的值 Null空

js的变量数据类型是只有程序在运行过程中,根据等号右边的值来确定的,也被称为动态数据类型

常用语句:

IsNAN() //判断值是否为非数字//转义符: n换行 t缩进 b空格str.length  //获取字符串长度

小理论

undefined和数字相加,结果是NaN

null+1等于1

prompt取过来的值是字符型.

对于prompt取值做加法,有以下加法案例:

//demo onevar a,b;a = parseInt(prompt('请输入第一个值'));b = parseInt(prompt('请输入第二个值'));var c = a + b;alert (c);//demo twovar a = prompt('请输入第一个值');var b = prompt('请输入第二个值');var c = Number(a) + Number(b);alert (c);

字符串转换(chrom颜色为黑)

变量.toString()String()强制转换隐式转换:+拼接字符串模板拼接 我的年龄是${age}岁 (注意反引号不要掉了)

数字型转换(chrom颜色为蓝)

Parselnt()转换为整数型parseFloat()转换为浮点型Number()强制转换函数隐式转换:- * / 算术运算隐式转换

布尔型转换(chrom颜色为蓝)

空、否定会被转换为false:如 ‘’、 0 、 NaN 、 null 、 undefined
其余全部为true

运算符

==默认转换数字类型,会把字符型转换成数字型
===全等, 要求数值和数据类型都一样

优先级:

括号

单目 (右结合右至左)

算数*/%

位移

关系

相等

逻辑&^| &&||

赋值

逗号

选择语句

if没什么好说的switch注意事项:
case的值判断是全等运算判断

数组

创建数组的方式
1.利用new创建数组

var arr = new Array() //注意的是,new A必须大写var arr = new Array(2); //表示数据长度2var arr = new Array(2, 3); //表示里面有两个元素是2和3

2.利用字面量创建数组

var arr = [];

3.获取数组的长度

arr.length

也可通过arr.length = (Number)的方式来修改数组长度

注意点:

多余的地址/空地址/未定义数组元素默认值为undefined
拿C语言举例,字符数组默认后面都是有一个结束的,而下标越界会导致程序错误,JS这样设置的好处就是可以不定义数组长度,或者预先给到地址空间。
4.实现数组迁移,从而不需要定义索引/下标变量

newArry[new.Arry.length] = arr[i++];

数组的常用内置对象

1.判断数组

// var arr = [];arr instanceof Array //Instanceof运算符判断是否为数组Array.isArray(arr)  //isArray判断是否为数组

2.添加数组元素

arr.push() //在数组最后添加一个或多个数组元素arr.unshift() //在数组最前面添加一个或多个数组元素

实用:push可以实现给新的空数组赋值,且push和unshift都有返回值,为新数组的length

3.删除数组元素

arr.pop()  //删除数组中最后一个元素arr.shift()  //删除数组中第一个元素

有返回值,为删除的元素值

叮当好记-AI音视频转图文 叮当好记-AI音视频转图文

AI音视频转录与总结,内容学习效率 x10!

叮当好记-AI音视频转图文 193 查看详情 叮当好记-AI音视频转图文

4.翻转/逆置数组

arr.reverse()

5.数组排序

arr.sort() //对个位数进行冒泡排序

理论:为什么说是对个位数进行冒泡排序,因为sort比较数组会先把数组转换成字符串,所以77会比8更先,但是如果有了比较函数(compareFunction)的指定,就能实现按要求排列

arr.sort解决方案

arr.sort(function(a,b)) {return a - b;//return b - a

a – b为升序排序,b – a为降序排序

6.查找数组

arr.indexOf('word');

从前往后查找返回数组满足条件第一个元素的索引号,如果找不到则返回-1

arr.lastIndexOf('word');

从后往前查找返回数组满足条件第一个元素的索引号,如果找不到则返回-1

7.转换成字符串

arr.toString() //数组转换成字符串arr.join() //将数组转换成字符串,且括号内可以写分隔符,表示用什么符号格式进行分隔 arr.join('&')

Arguments 伪数组 只有在函数中能够使用

同样按照下标的方式存储数据,可以不定义长度实现形参接收

函数

声明函数:

Function 函数名 () { }

var 变量名 = Function () { } 函数表达式(匿名函数)

预解析

就是把JS中所有的var和function提到当前作用域的最前面

变量预解析
提前所有的变量声明(不提赋值操作)

函数预解析
提前所有的函数声明(不调用函数)
→ 所以要额外注意函数表达式和声明函数的预解析

理论:

如果形参多于实参,按前取;如果有实参没有被传值,默认是undefinedReturn返回一个值,但是如果return[ ] 且有多个表达式以逗号隔开,那返回值会是整个[]的 所有 运算结果!!如果函数没有返回值,那么返回的是undefined !!在函数内部直接赋值的变量属于全局变量函数的形参是局部变量块级作用域: {} (es6新增,其他版本在括号里面定
义的变量也能在外面调用
)作用域链:多个函数嵌套的时候会形成作用域链,子函数能访问父函数的块作用域

对象

什么是对象?
对象是一组无序的相关属性和方法的集合(字符串,数值,数组,函数)
在其他语言中,类似 >结构体 >字典

创建自定义对象和对象属性、对象方法:

字面量创建

var obj = {name:'姓名',age : 999,//*方法*冒号后跟一个*匿名函数*printf:function() {console.log('hello world');}}

记忆方法↓:

直接给对象名、属性冒号跟值+语句结束逗号方法用冒号取值:对象名.属性名 or 对象名[‘属性名’]调用对象方法: 对象名.方法名();new object

var obj = new Object();obj.name = '李昂';obj.age = 999;obj.printf:function(){console.log('hello world');}

记忆方法↓:

var对象名 = new Object (); 不加分号对象名.属性 = 取值 + 分号方法用冒号取值:对象名.属性名 or 对象名[‘属性名’]调用对象方法: 对象名.方法名();

3.构造函数

function Obj (Uname, Uage) {this.name = Uname;this.age = Uage;this.printf = function(infoms){console.log(infoms);}}

记忆方法↓:

类似函数声明,但是构造函数函数名首字母必须大写,this.属性方法用等号构造函数必须得有变量传值,构造函数的方法也必须有变量传值调用构造函数 var 变量 = new 构造函数名(传递的值)

var myobj = new Obj('李昂', '999');//可以理解为创建了一个变量指定了构造函数console.log(myobj.name);console.log(myobj['age']);obj.printf('hello world');

new的执行过程

new构造函数会在内存中创建一个空的对象

this就会指向刚才创建的对象

接着依次执行属性、方法,并返回

新循环遍历

For (变量 in 对象){
}
这里的变量是属性值做遍历
属性的的输出:consolo.log(对象[变量]);
程序员在for in 的变量喜欢写Key或者i

一些可用内置对象:

Math.PI //求圆周率Math.max()//返回最大数值(如果无值返回负无穷大)Math.abc ()//取绝对值Math.floor()//向下取整Math.ceil()//向上取整Math.round()//四舍五入(五特殊 往大了取)

随机数

Math.random() ;

返回一个随机浮点数【0,1)括号里不跟参数
↓ 扩展:得到自定义最大值和最小值中间的随机函数

Function getRandomInt(min, max) {min = Math.ceil(min); //规范值语句 可省max = Math.floor(max); //规范值语句 可省return = Math.floor(Math.random() * (max - min + 1) + min);

new Date()调用日期对象 不跟参数返回系统时间

(‘2021-10-10 8:00:00’)字符串输出

(2021, 10, 10)数字输出 月份从0开始11结束 故而要在月份的基础上+1

变量.getDay()获取当前星期,星期日从0开始 到星期六6结束 获取到的值是一个数字
↓规范获取当前时间 demo

var date1 = new Date;var year = date1.getFunllYear();var month = date1.getMonth();var dates = date1.getDate();var day = date1.getDay();var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];alert('今天的日期是:' + year + '年' + (month+1) + '月' + dates + '日' + arr[day]);

==值得注意的是,必须使用变量调用Date这个构造函数

基本包装类型:

就是把简单数据类型包装成复杂数据类型,这样基本数据类型就有了属性和方法,那么一般来说在浏览器里面JS引擎会自动帮我们把简单数据类型包装成复杂数据类型

var str = 'lion'; console.log(str.length); //JS如何给我们的数据包装 var temp = new String('lion');//定义一个临时构造函数包含初始化的字符串 str = temp; //把构造函数赋给值类型 temp = null; //最后舍弃临时变量

一些可用的字符串内置对象查找字符串

str.indexOf('要查找的字符串',[起始位置]);//demo:var str = '我的名字是什么,名字不重要';console.log(str.indexOf('名字', 3));

查找指定字符

str.charAt(0); //返回指定下标的字符str.charCodeAt(0); //返回指定下标的ASCII码

拼接字符串

str.concat('word') //拼接字符串(开发中隐性拼接居多)

查找某一连续字符

str.substr('抓起始位置', '抓几个字符'); //查找某一连续字符

替换字符

str.replace('被替换的字符', '替换为字符') //如果字符串中有重复的字符,只会替换第一个

字符串转换成数组

split('分隔符') //把字符串转换为数组(被转换字符串中必须要写分隔符,而且要与split的分隔符统一!)

一些传参和类型的–
理论深入:

简单类型又被称为基本类型或者值类型 因为存储是值本身系统自动分配释放存放函数的值,局部变量的值,被称为栈复杂类型又叫引用类型 因为存储的是地址 调用的时候需要专门引用现在栈里面存放16进制地址码,然后指向堆里面的数据(对象实例),被称为堆复杂类型传参,如果不是传值,传的指针,也就是传地址特殊: Null返回的是一个空的对象(因为程序的设计缺陷)

可以定义变量为Null,稍后再给值

更多编程相关知识,请访问:编程入门!!

以上就是Java Script中值得收藏的学习笔记(总结分享)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/560201.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月10日 00:40:06
下一篇 2025年11月10日 00:44:39

相关推荐

  • 零基础学习如何快速掌握CSS框架:快速入门指南

    CSS框架快速入门指南:从零开始学习如何快速做好CSS框架,需要具体代码示例 引言:在当今的Web开发中,CSS框架被广泛应用于构建漂亮、响应式的网页设计。CSS框架可以帮助开发者快速搭建美观、一致的网页布局,减少开发时间。本文将介绍如何从零开始学习并掌握使用CSS框架,以及提供具体的代码示例。 一…

    2025年12月24日
    000
  • 从零开始学习CSS3:逐步掌握核心技术

    从零开始学习CSS3:逐步掌握核心技术 CSS(层叠样式表)是网页设计中不可或缺的一部分,它决定了网页的外观和布局。随着互联网的发展,CSS也不断更新,其中最新版本为CSS3。CSS3引入了许多新的特性和功能,提供更多的设计选择和更丰富的用户体验。本文将介绍如何从零开始学习CSS3,掌握其核心技术。…

    2025年12月24日
    000
  • CSS3的学习轨迹和常见误区解析

    CSS3的学习轨迹和常见误区解析 引言:随着Web技术的不断发展,CSS3已经成为了前端工程师必备的技能之一。通过掌握CSS3的各种功能和特效,我们能够创建出更加丰富多彩的网页布局和交互效果。本文将介绍CSS3的学习轨迹,同时分析一些常见的误区,并提供一些代码示例。 一、学习轨迹: 1.掌握基本语法…

    2025年12月24日
    000
  • 掌握overflow属性以实现网页内容溢出效果

    学习如何利用overflow属性实现网页内容溢出效果 在网页设计和开发中,我们经常会遇到需要展示过长的内容或者图片的情况。为了更好地处理这种情况,可以使用CSS中的overflow属性来实现网页内容溢出效果。本文将介绍如何使用overflow属性并提供具体的代码示例。 overflow属性是CSS中…

    2025年12月21日 好文分享
    000
  • 关于学习canvas,初学者应该掌握哪些方法和资源?

    初学者必备的学习canvas的方法和资源有哪些? 随着互联网的发展,前端技术在不断更新和演进,canvas作为HTML5标准的重要组成部分之一,开发者对canvas的需求也越来越多。canvas提供了一种通过脚本来绘制图形、动画以及图像的方法,它是一块空白的画布,可以通过JavaScript来进行绘…

    2025年12月21日
    000
  • 了解如何有效学习canvas技术

    如何系统地学习 canvas 技术? 在现代网页开发中,canvas 是一项非常重要的技术,它可以通过 JavaScript 来动态绘制图形,实现丰富的交互效果。想要系统地学习 canvas 技术,以下三个步骤可以帮助你入门。 第一步:了解基础概念和语法在学习任何技术之前,首先需要了解它的基础概念和…

    2025年12月21日
    000
  • 深入研究Vue选择器:掌握Vue中各种选择器的使用方法

    深入解析Vue选择器:学习使用Vue中的各种选择器 Vue.js是一款流行的JavaScript框架,它被广泛应用于构建用户界面。在Vue中,选择器是我们常用的工具,它能够帮助我们找到特定的元素,并对其进行操作。本文将深入解析Vue选择器,帮助读者学习使用Vue中的各种选择器。 ID选择器 ID选择…

    2025年12月21日
    000
  • 深入了解Vue选择器: 学习使用常见的各种选择器操作

    Vue选择器大揭秘:学习使用各种常用选择器 引言: Vue作为一种流行的JavaScript框架,广泛应用于前端开发。在开发过程中,Vue选择器是一个重要的概念,它允许我们选择DOM元素并对其进行操作。本文将深入讨论Vue选择器,介绍常用的选择器,并提供示例代码和使用技巧。希望读者通过本文的学习,能…

    2025年12月21日 好文分享
    000
  • HTML学习笔记一

    这篇文章介绍的内容是关于HTML学习笔记一 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 在点击打开链接的学习总结。 HTML常用的标签及解释 1、基本格式框架 标题段落 2、文本格式化标签 立即学习“前端免费学习笔记(深入)”; 粗体大号字着重字(粗)斜体字加强语气(粗)下标上标…

    好文分享 2025年12月21日
    000
  • HTML学习笔记二

    这篇文章介绍的内容是关于html学习笔记二 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 1、表格 row 1, cell 1row 1, cell 2row 2, cell 1row 2, cell 2 ……定义行,……定义列 表头…

    2025年12月21日
    000
  • 怎样零基础学习前端开发

    对于很多想转行的朋友来说,最大的担心就是觉得自己对计算机不太懂,最多会打个游戏,更别说计算机语言基础了。担心自己一点基础没有,不会学也学不会。下面我们就以前端开发为例,分享下如何零基础学会前端开发。 1.首先学习前端,必须要学会的就是HTML和CSS。 有关HTML和CSS的相关基础知识点,可以在P…

    好文分享 2025年12月21日
    000
  • 不同 C++ 框架的学习难度差异大吗?

    c++++ 框架的学习难度存在差异:boost 库:功能庞大,学习难度高。qt 框架:易于学习,适合 gui 应用开发。opencv 框架:专注图像处理,学习曲线陡峭。 不同 C++ 框架的学习难度差异 在 C++ 编程中,使用框架可以极大地提高开发效率。然而,不同的框架之间在学习难度上存在差异。本…

    2025年12月18日
    100
  • 没有编程基础的人学习 C++ 框架的可行性有多大?

    对于没有编程基础的人来说,学习 c++++ 框架具有挑战性,但并非不可能。通过循序渐进的方法,可以实现:掌握 c++ 基本知识,包括变量、数据类型、控制流和面向对象编程。选择一个轻量级的框架,例如 boost.asio 或 qt。仔细阅读框架文档,了解其结构和功能。从编写简单的程序开始,逐步增加复杂…

    2025年12月18日
    000
  • 在线资源和教程如何帮助降低 C++ 框架的学习难度?

    通过在线资源和教程,你可以降低 c++++ 框架的学习难度:利用官方文档和外部教程学习框架的基本概念和最佳实践。加入 stack overflow 和讨论论坛等社区,寻求具体问题的帮助和支持。通过构建 restful api、数据库应用程序和网络服务器等实战案例,获得实践经验。 通过在线资源和教程降…

    2025年12月18日
    000
  • C++框架社区资源及学习渠道

    在 c++++ 开发中,利用框架可提升开发效率。社区资源包括 cppcon、boost、github、stack overflow 和 c++ forums,可提供议题、库、开源框架和讨论。学习渠道包括书籍、课程、文档、博客、视频教程和实战示例,例如使用 qt 开发 gui 或使用 boost.as…

    2025年12月18日
    000
  • 揭秘C语言的吸引力: 发掘程序员的潜质

    学习C语言的魅力:解锁程序员的潜力 随着科技的不断发展,计算机编程已经成为了一个备受关注的领域。在众多编程语言中,C语言一直以来都备受程序员的喜爱。它的简单、高效以及广泛应用的特点,使得学习C语言成为了许多人进入编程领域的第一步。本文将讨论学习C语言的魅力,以及如何通过学习C语言来解锁程序员的潜力。…

    2025年12月17日
    000
  • 学习C语言中如何进行乘方运算

    学习C语言中的乘方计算方法,需要具体代码示例 在进行数学运算时,求一个数的乘方是非常常见的操作。在C语言中,我们可以使用循环或递归的方式来实现乘方计算。下面将介绍两种常用的方法,并给出具体的代码示例。 循环法 循环法是实现乘方的一种常用方法。其原理是通过循环累乘的方式,将底数乘以自身多次得到结果。 …

    2025年12月17日
    000
  • 五种学习C语言的有效策略

    学习C语言的五个有效方法 学习一门编程语言并不容易,尤其是对于初学者来说。C语言是一门广泛应用于编程领域的语言,掌握它可以为你的职业发展打下坚实的基础。然而,要想学好C语言,除了需要掌握基本的语法规则外,还需要运用一些有效的学习方法。本文将介绍学习C语言的五个有效方法,帮助读者更好地掌握这门语言。 …

    2025年12月17日
    000
  • C#串口通信的实例教程

    因为参加一个小项目,需要对继电器进行串口控制,所以这两天学习了基本的串口编程。同事那边有java的串口通信包,不过是从网上下载的,比较零乱,难以准确掌握串口通信的流程和内含。因此,个人通过学习网上大牛的方法,利用c#实现了基本的串口通信编程。下面对学习成果进行总结归纳,希望对大家有所帮助。 一、串口…

    2025年12月17日
    000
  • 简单学习pip更改源的技巧,帮助你享受快速下载体验

    轻松学会pip换源方法,助你畅享快速下载体验,需要具体代码示例 在使用Python进行开发时,我们经常需要使用pip工具来安装各种依赖包。然而,由于众所周知的原因,国内访问国外的源往往会遇到速度慢、下载失败等问题。幸好,我们可以通过换源的方式来解决这个问题,让pip在国内也能够快速高效地下载所需的包…

    2025年12月13日
    000

发表回复

登录后才能评论
关注微信