当前位置: 首页 > news >正文

前端---认识JS

文章目录

  • 什么是JS?
  • JS的应用
  • JS与HTML结合的方式
    • 内联式
    • 内嵌式
    • 外部式
  • JS的注释
  • JS的弹窗
  • JS的输出
  • JS的变量
  • JS的基本数据类型
    • 数字类型:number
    • 字符串类型:string
    • 布尔类型:boolean
    • undefined类型
    • null类型
  • JS的运算符
    • 算术运算符
    • 逻辑运算符
    • 其他运算符

什么是JS?

JS全称是JavaScript,是一门专门用来开发前端的编程语言,它用来描述页面的行为。它和Java完全不同,起这个名字某种程度上来说是在蹭Java的热度。

JS的应用

  1. 网页开发,做各种厉害的特效
  2. 网页游戏
  3. 服务器端的开发,借助JS的引擎 v8 worker,即node.js
  4. 开发桌面程序,使用Electron框架
  5. 移动端APP开发

JS与HTML结合的方式

内联式

//直接写在html元素内部,放到标签的特殊属性中
<input type="button" value="点我一下" onclick="alert('haha')">

注:

  1. JS中的字符串常量既能用‘’表示,又能用“”表示
  2. html中推荐使用“”,js中推荐使用‘’

内嵌式

//使用script标签写在html的body里
<body><script>alert("haha");</script>
</body>

外部式

//把js代码写在外部的 .js文件里,通过script标签引入
<script src="hello.js"></script>

注:这种情况下script标签中间不能写代码,必须空着。

JS的注释

方式一:
/*这是一种注释*/方式二:推荐
//这又是一种注释

JS的弹窗

alert("haha");

注:在前端页面弹出弹窗,内容是 haha

JS的输出

console.log('hello world');

注:在前端的控制台输出内容。类似于Java的System.out.println

JS的变量

var name = '张三';
let age = 18;

注:

  1. var和let都是关键字,仅仅表示后边的名字是个变量,不代表类型。
  2. 变量也是有类型的,具体的类型 = 后面值的类型。比如:name是String类型,age是int类型
  3. let是新式的写法,var是老式的写法。推荐使用let

JS的基本数据类型

数字类型:number

//整数
let a = 10;
//浮点数
console.log(1/2);
//无穷大:Infinity
console.log(1/0);
//负无穷大:-Infinity
console.log(-Number.MAX_VALUE)
//非数字:Nan
console.log('hello'-10);

注:在JS中使用数字类型来表示数值,不区分整数和浮点数。

字符串类型:string

let a = 'hello';
let b = 'world';
//求字符串长度
console.log(a.length);
//字符串拼接
console.log(a + b);

注:如果字符串中已经包含了引号,使用转义字符进行转义再使用。

布尔类型:boolean

let a = true;
let b = false;

注:

  1. 在JS中,可以用0表示假,1表示真。
  2. true和false也可以参与运算,分别表示1和0

undefined类型

var a;
console.log(a - 10);

注:

  1. 变量未初始化会undefined
  2. 字符串和数字相减会undefined
  3. 字符串和undefined相加会进行字符串拼接;数字和undefined相加是Nan

null类型

let a = null;

注:null表示当前变量被定义但是没有值;undefined表示当前变量未被定义。

JS的运算符

算术运算符

let a1 = 10;
let a2 = '10';
console.log(a1==a2);    //true
console.log(a1===a2);   //false
console.log(a1!=a2);    //false
console.log(a1!==a2);   //true

注:

  1. JS是弱类型的语言,在比较时会自动进行类型转换。
  2. 使用 == 和 != 会让变量进行类型转换
  3. 使用 === 和 !== 不会让变量进行类型转换

逻辑运算符

		// 如果value为真则value1的值为value;如果为假,value1的值为右侧表达式 1let value = 1;let value1 = 10;value1 = value || 1;console.log(value1);// 如果value为假则value2的值为value;如果为真,value2的值为右侧表达式 5let value2 = value && 5;console.log(value2);

注:

  1. || 和 && 一般不把结果赋予变量,直接使用就行。
  2. 上述 value1 = value || 1; 和 let value2 = value && 5; 是特殊情况。这样写可以保证变量里一定有值。

其他运算符

其他运算符和Java的运算符用法相同,大家可以点击此处浏览!

相关文章:

  • 爬虫项目(12):正则、多线程抓取腾讯动漫,Flask展示数据
  • 为什么数据安全很重要?哪些措施保护数据安全?
  • FEC的RED
  • Unity 跑酷游戏全部脚本(完结)
  • SpringBoot项目集成发邮件功能
  • 【中间件篇-Redis缓存数据库07】Redis缓存使用问题及互联网运用
  • WorldView 1 2 3 4卫星影像
  • RHCE8 资料整理(五-2)
  • 使用Jmeter进行http接口性能测试
  • 不使用宝塔面板 安装 EasyImage 简单图床
  • ISP图像处理Pipeline
  • 爱上C语言:整型和浮点型在内存中的存储(进制转换,原码,反码,补码以及大小端)
  • maven配置自定义下载路径,以及阿里云下载镜像
  • 【Python+requests+unittest+excel】实现接口自动化测试框架
  • 【STM32】FreeModbus 移植Modbus-RTU从机协议到STM32详细过程
  • Brief introduction of how to 'Call, Apply and Bind'
  • Git同步原始仓库到Fork仓库中
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • Mysql优化
  • Sublime text 3 3103 注册码
  • WePY 在小程序性能调优上做出的探究
  • 初识 webpack
  • 动态规划入门(以爬楼梯为例)
  • 力扣(LeetCode)22
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 前端知识点整理(待续)
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 小而合理的前端理论:rscss和rsjs
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 7行Python代码的人脸识别
  • scrapy中间件源码分析及常用中间件大全
  • 数据可视化之下发图实践
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (LeetCode 49)Anagrams
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (二)丶RabbitMQ的六大核心
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)平衡树
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • ./configure,make,make install的作用
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .htaccess配置重写url引擎
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET MVC之AOP
  • .Net mvc总结
  • .net 后台导出excel ,word
  • .netcore 获取appsettings
  • .NET大文件上传知识整理