0

0

JavaScript语言核心数据类型和变量使用介绍_基础知识

php中文网

php中文网

发布时间:2016-05-16 17:24:41

|

1040人浏览过

|

来源于php中文网

原创

任何的编程语言都有自己的语言核心,和众多编程语言一样,JavaScript也有自己语言的核心。语言的核心部分一般被称之为JavaScript最为基础的部分。正所谓万事开头难,学习JavaScript也是一个道理,也有句古话说得好,好的开始是成功的一半。了解并学好JavaScript的语言核心部分是JavaScript学习道路上非常良好的开始。

下面是一段代码,主要介绍了JavaScript的数据类型和变量:

Tome
Tome

先进的AI智能PPT制作工具

下载
复制代码 代码如下:

//在script标签中,所有//后面的内容都称之为注释
//注释的作用一般都是为一段JavaScript进行一些解释,让其他Web前端开发工程师或者是阅读这段代码的时候更加清楚明了

//变量是一个值的符号名字,通过这些变量的名字,我们也能够大体的知道这个变量是干什么用的,属于是什么变量类型
//区别变量很简单。变量的前面都有“var” ,也就是说变量是通过“var”进行声明的。

var m; //声明一个变量m

//一般我们把要声明的值用等号赋给变量
var m = 10; //现在的变量m等于 10

m //通过 变量 m 来获取刚才声明的值

//alert(m) //利用alert()函数,在浏览器出弹出m的值

//JavaScript的数据类型:布尔值,数字,字符串,underfind,函数,数组,对象

var n = 1; //数字
n = 0.01 //整数和实数都是数字类型

var s = "你好"; //由双引号内的文本构成的字符串
s = '国安'; //由单引号内的文本构成的字符串

var b = false; //错误的布尔值
b = true; //正确的布尔值

var z = null; //一个null的空值,是一个特殊的类型,typeof后是对象

var u; //underfind

var j = { //一个代表json的对象
li :3, //属性“li”的值是3
meng :4 //属性“meng”的值是4
}

j["li"] //通过[]访问json中的值
j.li //通过.访问json中的值
j.long = 5 //通过赋值的方法创建新的属性
j.ai = { //通过赋值可以创建新的json
xin : 33
}
j.kong = {} //{}代表空对象,它没有属性

j.ai.xin //通过.访问新的json中的属性

var a = [2,3,2] //一个代表数组的对象

a[0] //数组中[]代表[]中数字代表位置,数组从0开始,所以a[0]是数组的第一个元素
a.length //length代表数组a的个数,3
a[a.length-1] //代表数组中的最后一个元素
a[9] = 2; //用赋值的方法添加新的元素

//若a = [],那么代表数组里的元素为零个,a.length = 0

a[0] = {
li : 333
}

//json中能包含数组,数组中也能包含json

//alert(a[0]["li"])

上面的代码中,可以通过“[]”、“{}”、“.”定义对象,也可以通过“[]”、“{}”、“.”开更改数组或者对象中的内容。也可以通过“[]”、“{}”、“.”来读取对象中的一些数据。下面一组代码是有关运算符的:
复制代码 代码如下:

//JavaScript中可以运用预算符,进行两个数之间的运算,可以产生新的值
//下面是比较常见的一些预算符,如"+"、"-"、"*"、"/"

//1、介绍运算符
10 + 10 //加法,20
10 * 10 //乘法,100
10 - 10 //减法,0
10 /10 //除法,1

var j = { //一个代表json的对象
li :3, //属性“li”的值是3
meng :4 //属性“meng”的值是4
}

j["li"] - j.meng //json j中的属性li 减去 json j中的属性meng ,结果是-1

"10" + "10" //加法可以进行字符串的拼接,结果是100

//2、JavaScript中定义了一些简写的运算符

var num = 0 //定义一个数字

num++; //代表自增,num = num + 1;
num--; //代表自减,相当于 num = num - 1;
num += 2; //代表自增2 ,相当于num = num + 2;
num *= 8; //代表自称8 ,相当于num = num * 8;

//3、运算符进行判断

var a = 1,b = 2; //一个等号代表复制,两个变量之间用","隔开,代表同时声明

a == b; //结果是false 意思是a和b是相等吗
a != b; //结果是true 意思是a和b不相等吗
a a a > b; //结果是false 意思是a大于b吗
a >= b; //结果是false 意思是a大于或者等于b吗
"two" == "three"; //true "tw"在字母表中的索引大于"th"
false > (a > b) //结果是true 意思是false和false进行比较

//4、逻辑运算符

(a == 2) && (b == 3) //结果是true。a是等于2 并且 b是等于3 的吗 。&&代表并且的意思
a > 2 || b > 2 //结果true ,第一个是false,第二个是true,由于 || 代表或的意思
!(a == b) //结果是true 。! 是 求反 的意思

运算符中,仅仅算出个值并不影响任何操作的都叫做表达式,并不改变程序的运行状态。而语句是不包含一个值,但是它改变运行状态。语句由于改变运行状态,所以后面加分号。

每个函数都有自己的名字,通过名字可以调用执行某一个函数,可以定义一次,调用多次。下面是简单的函数小例子。
复制代码 代码如下:

//1、函数是一段带有参数的JavaScript代码端,可以一次定义,多次调用,也可以带有参数

var a = 3; //声明一个值为3的变量a;

function fn1 (n) { //一个参数为n名为fn1的函数
return n+1; //返回一个比传入的值大一的值
}

fn1(a) //结果是4,由于刚才声明的a的值为3,所以调用函数时候,执行 a+1 也就是3+1

var fOne = function(m) { //函数也是一种数据类型,所以也可以把变量赋值成一个函数
return m*m; //返回一个数值,进行 参数 * 参数 的运算
}

fOne(a) //结果是 9

//2、方法,把函数赋值给变量的属性

var arr = []; //创建一个新数组
arr.push(1,2,3); //用push()方法向arr数组里从后添加元素
arr.reverse(); //用reverse()方法将数组中的元素顺序反转

var points = [ //声明一个元素中是json的数组
{a : 0,b : 0},
{a : 1,b : 1}
]
points.dist = function () { //在声明的数组中定义一种计算两点之间距离的方法

var p1 = this[0]; //用this获取当前数组的引用
var p2 = this[1]; //并且赋值给两个新的变量
var a = p2.a - p1.a; //x轴上的距离
var b = p2.b - p1.b; //y轴上的距离

return Math.sqrt(a*a + b*b) //用Math()中的sqrt()计算平方根从而得到两点之间的距离

}

alert(points.dist()) //结果是1.414

//3、控制语句
//条件语句和循环语句被称之为控制语句

function abs (m) { //求绝对值函数

if (m >= 0) { //如果比较结果为true
return m; //返回 m
}else { //若比较结果为false
return -m; //返回 -m
}

}

function factorial (n) { //计算阶乘的函数

var num = 1; //声明一个值为1的变量

while (n > 1) { //当()内的表达式为true时候,执行循环{}内的代码

num *= n; //相当于 num = num * n
n--; //相当于 n = n -1

}

return num //返回阶乘的结果

}

factorial(4) //结果是24

function factorialFor (n) { //用for循环实现阶乘
var i, num = 1; //声明变量i,并且声明值为1的变量num

for (i=2; i num *= i; //循环体,当循环体中只有一句话的时候可以省略{}
}

return num; //返回计算好的阶乘表

}

factorialFor(5)

.从函数例子中可以看出,不管是while循环还是for循环,不管是判断语句还是循环语句,都算得上是控制语句。通过一定的条件控制将要发生的事情。

  介绍完函数,接下来介绍简单介绍一下面向对象。
复制代码 代码如下:

//定义一个构造函数,就是先创造一个初始化的对象

function Point (x,y) { //构造函数名的第一个字母要大写
this.x = x; //this代表的就是这个初始化对象
this.y = y; //将函数的参数存到这个初始化对象的属性中
} //构造函数中不需要返回,return什么东西

//使用new关键字,和构造函数,创建一个新的对象
var p = new Point(1,1); //创建一个平面坐标为(1,1)的点

//通过给构造函数原型赋值,来给Point新创建的对象添加方法
Point.prototype.r = function () {

return Math.sqrt(
this.x*this.x + this.y*this.y
); //利用Math中的sqrt()方法进行开平方根运算。this指代的是调用方法的对象

}

p.r() //结果是1.414

上面的例子是教大家如何定义一个有求平方根方法的点。JavaScript的面向对象和其他编程语言的面向对象有一些区别。具体的区别呢,我们只能继续往下研究,才能知道。

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

38

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

83

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

97

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

223

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

458

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

169

2026.03.04

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

246

2026.03.03

C++高性能网络编程与Reactor模型实践
C++高性能网络编程与Reactor模型实践

本专题围绕 C++ 在高性能网络服务开发中的应用展开,深入讲解 Socket 编程、多路复用机制、Reactor 模型设计原理以及线程池协作策略。内容涵盖 epoll 实现机制、内存管理优化、连接管理策略与高并发场景下的性能调优方法。通过构建高并发网络服务器实战案例,帮助开发者掌握 C++ 在底层系统与网络通信领域的核心技术。

34

2026.03.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 850人学习

php初学者入门课程
php初学者入门课程

共10课时 | 0.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号