文章目录

  • 1.那些高大上的概念术语都是指什么
    • 什么是web应用?
    • 什么是前台后台?
    • 怎么做网页界面呢?
    • JavaScript可以应用到什么上面?
  • 2.JavaScript实例:
  • 3.语言基础
    • 变量声明
    • 数据类型
      • 基本数据类型:
      • 引用数据类型:
    • 数字格式与算术操作符

1.那些高大上的概念术语都是指什么

什么是web应用?

在浏览器中操作的应用。web应用分为前台和后台。

什么是前台后台?

以qq邮件网站为例
前台:显示在浏览器里电子邮件操作的网页界面
后台:提供用户填写信件的界面,负责发送邮件

怎么做网页界面呢?

HTML:架构
CSS:外观样式
JavaScript:动态改变字体样式,大小,插入表情图案等交互功能。

JavaScript可以应用到什么上面?

前台网页:web浏览器
后台服务器:Node.js 云服务器
单片机和传感器终端:Espruino

2.JavaScript实例:

我们先在浏览器中运行一下:
打开浏览器,按下"Ctrl+Shift+J"快捷键,就打开了JavaScript工具台。
在控制台输入如下代码并enter

alert("hello world");

效果:

在控制台输入如下代码并enter

confirm("你喜欢橘猫吗?");

好了我们看看JavaScript的特点

逐行运行,每次运行后面有一个结果
(undefind表示指令没有返回值)
如果您想要输入多行代码怎么办?
每行结尾按"shift+enter"代表换行
最后"enter"代表运行

上面都是直接在浏览器中输出,那如何在JavaScript控制台输出消息?
这个问题很有必要,这对测试代码很有帮助
很简单,输入代码:

console.log("hello");

这里如果直接用log(“hello”)不行,因为JavaScript内置对象里面存的是指令,我们要通过对象调用它里面的指令而不能直接调用。
对象里面可以存储函数(方法),数据值(属性)
并且用点号调用

3.语言基础

变量声明

var 变量名称;
不区分字符和字符串,所有文本数据都是字符串(string)类型

var Name = "Jimmy";//双引号单引号均可
var PP = "j";//双引号单引号均可

多个变量可以在一个var语句中声明

var name= "Jimmy",age=18;

数据类型

动态类型语言,可以自动转换类型,声明变量时无需转换类型

var x ="hello";
x=12;//这也造成性能瓶颈,因为它多了辨别变量数据类型这一步
基本数据类型:

存放单一数据
Boolean,Number,String,Null,Undefined

var obJ = null;//没有指向任意对象的引用
var ref //预留存储器空间但没给值,Undefined

查看数据类型:
typeof
引用对象的变量,typeof返回object。

console.log(typeof "hello");//输出string
console.log(typeof  6);//number
console.log(typeof 6.66);//number
console.log(typeof true);//boolean
console.log(typeof  undefined);//undefined
console.log(typeof null);//object
引用数据类型:

可以通过引用存储器空间实现存储多个变量
array,object,function

数字格式与算术操作符

’+'操作符

    var num=123+456;console.log(num);//579var str=123+"456";console.log(str);//123456

’number’和’parseInt’,'praseFloat’

Number("6.66")//6.66
Number("jym666")//NaN
Number("1e2")//100
Number("0xcc")//204(十六进制转十进制)parseInt("6.66")//6
parseInt("jym666")//NaN
preseInt("666jym")//666
preseInt("1e2")//1
preseInt(0xcc)//204preseFloat("1e2")//100

还有一个精度问题:

console.log(0.1+0.2==0.3)//false

因为0.1换成二进制会产生无限循环的数字,而计算机数字存储空间有限,所以产生误差

解决办法:限制精度

var num=0.1*0.2;
console.log(parseFloat(num.toPrecision(12)));//精度缩减小数点后十二位输出0.02

比较操作符:

/*
== 判断是否相等
=== 判断是否相等且数据类型也相同
!=  判断是否不相等
!== 判断是否不相等或数据类型不同
*/
console.log(8==9)//false
console.log(8=='8')//true,'8'会先被转换成8
console.log(null==undefined)//true,预设不区分
console.log(8==='8')//false,类型不同
console.log(null===undefined)//false,类型不同
console.log(8!=='8')//true,类型不同

逻辑操作符
类似c语言的不再赘述
&& || !
特殊的:能以单一语句判断并赋予变量初始值

undefined || 13
//13''||'1.1.1.1'
//"1.1.1.1"var ip=ip||'1.1.1.1';
ip
//"1.1.1.1"

进制表示方法
十六进制 (0x开头)hex
二进制(0b)binary
八进制(0o)octal
在控制台输入上述进制,直接转换成十进制

位操作符

不管怎么操作,最终直接转十进制输出

& 位and
|  位or
^  位xor
>> 1
>>2
<< 1
<< 2

条件操作符:

var msg=(age<18)?"请您离开":"欢迎观赏";
//相当于
if(age<18){
msg="请您离开";
}else{
meg="欢迎观赏";
}

JavaScript变量声明+数据类型+数字格式+操作符+进制相关推荐

  1. JavaScript 基础1入门、变量、运算符、表达式、进制

    JavaScript 基础1 1.什么是javascript? 2.JavaScript能做什么? 3.JavaScript的历史 4.JavaScript入门 5.编写JS及如何运行JS 5.1.外 ...

  2. JavaScript基础之三JavaScript变量和数据类型

    1. JavaScript变量和数据类型 1.0 js变量和数据类型 在我们平时开发中,使用最多的并不是固定的数据, 而是会变换的数据: 比如购物车商品的数量.价格的计算等等: 比如一首歌曲播放的时间 ...

  3. JavaScript变量和数据类型初学者指南

    Scott Molinari , Vildan Softic和Chris Perry同行评审了< JavaScript变量和数据类型初学者指南>. 感谢所有SitePoint的同行评审人员 ...

  4. js php 变量声明,javascript变量声明实例分析_javascript技巧

    本文实例讲述了javascript变量声明的方法.分享给大家供大家参考.具体分析如下: js中使用一个变量之前应当先声明.变量使用关键字var来声明. 如果未在var声明语句中给变量指定初始值,则该变 ...

  5. javascript变量声明 及作用域

    javascript变量声明提升(hoisting) http://openwares.net/js/javascript_declaration_hoisting.html 可能要FQ一下 java ...

  6. path变量、命令行cmd、进制、位权相关介绍及使用

    path变量.命令行cmd.进制.位权相关介绍及使用 文章目录 path变量.命令行cmd.进制.位权相关介绍及使用 一.计算机的组成 二. windows的命令行 1.如何进入命令行? 2.命令行结 ...

  7. Bailian4029 数字反转【进制】(POJ NOI0105-29)

    问题链接:POJ NOI0105-29 数字反转 4029:数字反转 总时间限制: 1000ms 内存限制: 65535kB 描述 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数 ...

  8. JSK-23223 数字反转【进制】

    数字反转 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形 式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2). 输入格式 输入共 1 行,一 ...

  9. C# 数字转16进制和字符串转换16进制

    数字转换16进制.前提是你输入的必须是数字,而不是别的东西. private string StringToHexString(string s)//数字转换16进制{long Num = Conve ...

最新文章

  1. Linux内核之内存管理(4)--缺页处理程序
  2. celery mysql flask_如何在Flask中创建Celery实例?
  3. java有链表吗_Java数据结构之链表(Linked List)
  4. 【通俗易懂】层次聚类算法的原理及实现
  5. [New Portal]Windows Azure Web Site (4) Web Site Gallery
  6. python做一个linux网卡,Linux系统Python可以选择不同网卡进行网络访问吗?
  7. 华为达芬奇架构到底好在哪里?
  8. 兰州交通大学计算机科学与技术专业排名,专业排行
  9. 我的KT库之-----缓存与配置
  10. 分布式系统概念与设计学习(01),本书概要与基础概念
  11. 中国大学MOOC(慕课)离线下载视频支持电脑播放
  12. 你的才艺怎样变现?--Rarible平台
  13. 史上最全的 11 张网络安全思维导图!
  14. 数据一致性、准确性、完整性、及时性、有效性
  15. 如何开展兼容性测试?兼容性测试有什么作用?
  16. 51单片机的智能灯光控制系统
  17. linux 安装snap7,基于linux7的ectd安装与部署
  18. spring和servlet之间得关系
  19. 优雅的使用MacBook(一些小技巧,你不会知道的)
  20. 玛雅水上乐园|玩趣系列作品集

热门文章

  1. 子网掩码与子网个数、主机地址个数的关系
  2. 火柴 UVa11375
  3. IDEA配置xml文件头报错:URI is not registered (Settings | Languages Frameworks | Schemas and DTDs)解决方法,亲测有效
  4. jq php异步上传图片,php+jquery Ajax异步上传图片(ajaxSubmit)实例_PHP教程
  5. mysql 占用swap_查看swap占用情况
  6. python重复命令_Python简化重复命令教案
  7. 鸿蒙电脑操作系统最新消息,5G专家预测:7年后鸿蒙将成全球第一大操作系统
  8. java可以返回微妙吗_Java开发中10个最为微妙的最佳编程实践
  9. 忘记mysql数据库名称_忘记MySQL数据库密码的解决办法
  10. bp神经网络预测未来五年数据_预测 | 未来五年以太网收发器出货将达2.75亿只