[前端笔记]第三篇:JavaScript

JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理。

一、代码存放位置

JavaScript代码应该存放在:

  • HTML的head中
  • HTML的body代码块底部(推荐)

由于Html代码是从上到下执行,如果Head中的js代码耗时严重,就会导致用户长时间无法看到页面,如果放置在body代码块底部,那么即使js代码耗时严重,也不会影响用户看到页面效果,只是js实现特效慢而已。

<script src="https://www.gstatic.com/og/_/js/k=og.og2.en_US.iF4jnkQuaf0.O/rt=j/t=zcms/m=def/exm=in,fot/d=1/ed=1/rs=AA2YrTv5-POC4Ks9GtGRdY2ywUWisqz7-Q"></script>
<script>
    alert(‘123‘);
</script>

  

两种存在形式:

<!-- 方式一 -->
<script type"text/javascript" src="JS文件"></script>

<!-- 方式二 -->
<script type"text/javascript">
    Js代码内容
</script>

  

二、全局变量和局部变量

JavaScript中 var 开头的变量是局部变量,不带 var开头的则是全局变量。

python中是先声明一个局部变量再通过 global 关键字让变量编程全局变量,这和JavaScript有很大区别
<script type="text/javascript">

    // 全局变量
    name = ‘seven‘;

    function func(){
        // 局部变量
        var age = 18;

        // 全局变量
        gender = "男"
    }
</script>

  

JavaScript中代码注释(此注释仅在script代码块中有效):

  • 单行 //
  • 多行 /*  */

三、数据类型

JavaScript 中的数据类型分为原始类型和对象类型:

原始类型:

  • 数字
  • 字符串
  • 布尔值

对象类型:

  • 数组
  • “字典”
  • ...

两个特殊的数据类型null、undefined

  • null是JavaScript语言的关键字,它表示一个特殊值,常用来描述“空值”。
  • undefined是一个特殊值,表示变量未定义。

特别的,数字、布尔值、null、undefined、字符串是不可变。

需要注意的是,JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容。像 String.toUpperCase() 这样的方法,返回的是全新的字符串,而不是修改原始字符串。

如图,JavaScript 里的字符串类类似于下面那种情况,创建字符串时候已经规定了占用的内存长度,就造成了不可修改,不可改变长度

JavaScript里的列表字典是采用的链表的方式连接不同的内存位置,列表字典长度可变可修改

1、数字(Number)

JavaScript中不区分整数值和浮点数值,JavaScript中所有数字均用浮点数值表示。

转换:

  • parseInt(..)    将某值转换成数字,不成功则NaN
  • parseFloat(..) 将某值转换成浮点数,不成功则NaN

特殊值:

  • NaN,非数字。可使用 isNaN(num) 来判断。
  • Infinity,无穷大。可使用 isFinite(num) 来判断。

更多数值计算:

常量

Math.E
常量e,自然对数的底数。

Math.LN10
10的自然对数。

Math.LN2
2的自然对数。

Math.LOG10E
以10为底的e的对数。

Math.LOG2E
以2为底的e的对数。

Math.PI
常量figs/U03C0.gif。

Math.SQRT1_2
2的平方根除以1。

Math.SQRT2
2的平方根。

静态函数

Math.abs( )
计算绝对值。

Math.acos( )
计算反余弦值。

Math.asin( )
计算反正弦值。

Math.atan( )
计算反正切值。

Math.atan2( )
计算从X轴到一个点的角度。

Math.ceil( )
对一个数上舍入。

Math.cos( )
计算余弦值。

Math.exp( )
计算e的指数。

Math.floor( )
对一个数下舍人。

Math.log( )
计算自然对数。

Math.max( )
返回两个数中较大的一个。

Math.min( )
返回两个数中较小的一个。

Math.pow( )
计算xy。

Math.random( )
计算一个随机数。

Math.round( )
舍入为最接近的整数。

Math.sin( )
计算正弦值。

Math.sqrt( )
计算平方根。

Math.tan( )
计算正切值。

Math

Math

2、字符串(String)

字符串是由字符组成的数组,但在JavaScript中字符串是不可变的:可以访问字符串任意位置的文本,但是JavaScript并未提供修改已知字符串内容的方法。

字符串的方法:

obj.length                           长度
 
obj.trim()                           移除空白
obj.trimLeft()
obj.trimRight)
obj.charAt(n)                        返回字符串中的第n个字符
obj.concat(value, ...)               拼接
obj.indexOf(substring,start)         子序列位置
obj.lastIndexOf(substring,start)     子序列位置
obj.substring(from, to)              根据索引获取子序列
obj.slice(start, end)                切片
obj.toLowerCase()                    大写
obj.toUpperCase()                    小写
obj.split(delimiter, limit)          分割
obj.search(regexp)                   从头开始匹配,返回匹配成功的第一个位置(g无效)
obj.match(regexp)                    全局搜索,如果正则中有g表示找到全部,否则只找到第一个。
obj.replace(regexp, replacement)     替换,正则中有g则替换所有,否则只替换第一个匹配项,
                                     $数字:匹配的第n个组内容;
                                     $&:当前匹配的内容;
                                     $`:位于匹配子串左侧的文本;
                                     $‘:位于匹配子串右侧的文本
                                     $$:直接量$符号

  

时间: 2024-10-17 22:12:27

[前端笔记]第三篇:JavaScript的相关文章

Web前端学习-第三课JavaScript篇

Q5:解释什么是引用类型?在使用引用类型的时候需要注意什么? 引用类型通常叫做类,也就是说,遇到引用值时,所处理的就是对象,就是公用. 类型:  object类型,应用于应用程序中存储和数据传输(创建object实例:new操作和队象字面量表示法): Array类型,JavaScript数组的每一项都可以保持任何类型的数据,数组大小可以动态调整: 转换方法,所有对象都具有tolocalstring()和tostring(),valueOf()方法,调用tostring()和value()方法会返

Javascript oop深入学习笔记(三)--javascript中类的实现

一.类的实现机制 在javascript中可以使用function关键字来定义一个类.在函数内通过this指针引用的变量或则方法都会成为类的成员. function classDemo(){ var $testProperty = "xz1024"; this.property = $testProperty; this.method = function(){ return "this is a test method"; } } var $obj = new c

web前端【第三篇】CSS选择器

一.css概述 CSS是Cascading Style Sheets的简称,中文称为层叠样式表,对html标签的渲染和布局 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. 例如 二.css的四种引入方式 1.行内式 行内式是在标记的style属性中设定CSS样式.这种方式没有体现出CSS的优势,不推荐使用. 2.内嵌式 嵌入式是将CSS样式集中写在网页的<head></head>标签对的<style></style>标签对中.格式如下: 3.

linux学习笔记 第三篇

hostwww.baidu.com (查看百度的IP地址) 路由器的作用是:(NAT:network accesstansfrom)地址转换 gateway网关 1.   路由器主要功能是用来作NAT(dnat目的地地址转换snat原地址转换) eg :在没有设定网关之前,linux系统下的真机和虚拟机之间是不能够相互ping通的,因为它们不在一个网段内 2.网关 路由器上和自己处在同一个网段的那个ip 3.设定网关 systemctl stopNetworkManager  //先关闭服务才能

C++primer(第四版)复习笔记—第三篇: 类和数据抽象

数据抽象:是指定义数据和函数成员的能力: 封装:是指从常规访问中保护类成员的能力. 接口:成员函数定义了类的接口.通过将定义类所用到的数据和成员函数设置维为private来封装类. 第十二章: 类 1. 构造函数的初始化式只在构造函数的定义中而不是声明中指出. 2. 使用构造函数的初始化列表与在构造函数体中对类的成员变量进行赋值的区别:本质就在于前者是对变量进行初始化,而后者是对变量进行赋值. 理解:构造函数的执行分为两个阶段:先初始化阶段,再是普通计算阶段. 在初始化阶段构造函数将调用类类型的

辛星网站构架师笔记第三篇

下面大家跟着辛星来认识一下Nginx把,它是一个跨平台的服务器,但是它和传统的服务器不同的是,它不依赖于线程处理请求,它有自己的扩展性更强的驱动(异步)架构,因此它更加适合在高流量的网站.而且它还可以作为一个负载均衡器,它可以在内部直接支持Rails和PHP程序的,而且它也可以作为一个HTTP代理服务器对外进行服务.Nginx使用C语言写成. 我们上一节介绍了LVS,那么两者的区别是什么呢?第一点就是因为lvs的工作方式简单,它只是负责请求的分发,而且工作在网络的第四层,因此其负载能力强,不会产

c#开发Mongo笔记第三篇

今天主要测试了一下查询功能了,当然了主要还是为了让查询可以和我们平时使用的实体对象关联起来,并且 那些BsonDocument和Collection我们操作起来不是太方便的 还是首先定义了一个用户类,注意这个类需要和mongo中的对象的字段完全匹配,包括大小写,不然查询的时候会出现字段无法匹配的错误 public class User { public ObjectId Id { get; set; } public string Name { get; set; } public int Ag

我使用Asp.net MVC WebAPI支持OData协议进行分页操作的笔记(第三篇)

第三篇笔记,这是自己 Asp.net MVC OData协议 分页解决方案的 最后一记啦.OK,let's go ! 第一件事儿! 第一件事儿,就是下载这个组件了,你可以通过下面提供的附件下载,当然也可以下载源码自己编译一个. 怎么使用它? 在你返回分页数据的Action上加(ODPageResultAttribute)就可以支持返回分页数据了,分页数据返回的格式为json,包含字段如第一篇笔记中提到的分页数据返回对象一致.具体的请参考项目源代码(ODataPQ.Tests\Controller

GSON使用的学习笔记,进阶篇(三)

本篇笔记内容比较杂乱,没有专门去整理. TypeAdapter 现在轮到TypeAdapter类上场,但考虑到gson默认行为已足够强大,加上项目实践中应用json时场景不会太复杂,所以一般不需要自定义TypeAdapter.TypeAdapter优点是集成了JsonWriter和JsonReader两个类,定义了一套与gson框架交互的良好接口,同时便于管理编码和解码的实现代码,不至于太零碎.因而在了解JsonReader和JsonWriter的使用方法之后,自定义TypeAdapter类来完