1. JavaScript基础

1.1 语法

  • 严格区分大小写

  • 标识符,第一个字符可以是 $,建议使用小驼峰法,

  • 保留字、关键字、true、false、null不能作为标识符

  • JavaScript是用Unicode字符集编写的

1.2 数据类型

  • 判断数据类型: typeof xxx

  • 定义变量: var xxx = yyy; 函数内部不加var可以定义全局变量 可以随意改变类型

    • var a,b,c; 定义多个变量

  • Number 类型:

    • 包括整数和小数

    • var n=0x111;//十六进制 var n=1.2e2;//科学计数法 var n=1.0 //n=1,因为JavaScript会尽量把浮点数转换为整数,因为浮点数占的内存是整数的两倍

    • alert(Number.MAX_VALUE) 支持最大数,MIN_VALUE最小

    • alert(Numver.Infinity) 无穷大

    • NaN(Not A Number)非法数字,不是数字,可以通过 isNaN(xx) 判断,返回Boolean值 alert('哈' - 1) => NaN

  • String 类型: 'xxx' " t'ttt "

    • \xnn 以十六进制代码nn表示一个字符,如:\x41表示A

    • \unnnn 以十六进制代码nnnn表示一个Unicode字符

    • 除了 null undefined 外的所有值都有toString()方法,可以把相应的值转换为字符串形式

  • Boolean 类型:

    • 通过Boolean(xxx) 转换,== 判断不出

      • true:非零数值,非空字符串,非null对象

      • false:0 空字符串,Null,Undefined

    • 在流程控制语句(如:if),会自动转换为Boolean值

  • Undefined 类型:只有一个值undefined(开头字母小写),表示变量未初始化 var s;alert(s) //undefined

    • 主要用于逻辑判断

    • alert(typeof xx(未定义变量) ) //也会是undefined

  • Null类型:只有一个值null,表示空对象指针 alert(typeof null) //Object

    • 如果定义的变量准备在将来用于保存对象,那么最好把他设置为null,这样就可以判断是否为null来判断是否保存了一个对象的引用 if (xx != null){ doSomething(xx); }

      • undefined由null衍生出来,undefined == nulll

  • Object 类型:

1.3 数据类型转换

  • toString(): var s=123; s.toString() // '123' 当以字符串形式输出某个对象时,就会自动调用对象内部的toStrong()方法 null和undefined没有toString()方法。

    • 'str' + xxx => 'str'

    • var n=9; n.toString(2);//'1001' 整数变量.toString(进制),可以进行进制转换

    • String(obj)将任何类型转换为字符串,包括null和undefined

  • Number(): var s='123'; alert(Number(s)) // 123 var s='haha33'; alert(s)// NaN

    • 如果字符串是一个空串或全是空格的字符串,则转换为0

    • null => 0 undefined => NaN true => 1

  • parseInt()/parseFloat():

    • 从第一位有效数字开始,直到遇到无效数字,如果第一位不是有效数字,返回NaN

    • Number()函数无论字符串是否包含有效整数都会返回NaN,利用parseInt()/parseFloat()可以提取字符串中的有效整数 parseInt('123aaa') //123

    • parseInt('100',2) //4 当提供第二个参数时,代表字符串是几进制的,返回十进制

1.4 语句

  //【switch语句】//可以使用任何数据类型switch(s){    case 'a':    case 'b': //合并了两种情形        alert("a or b");        break;    case 'c':        alert(c);        break;    default:        alert(other)}​​​//【for-in语句】//迭代出的是:数组、字符串是位置、对象是keyfor(var x in 'hello'){    console.log('hello'[x]);}​​​//【label语句】//在代码中添加标签,可以由break 或 continue引用xxx:for(var i=0; i<10; i++){    if(i==8){        break xxx;   }}​​//【with语句】//作用是将代码的作用域设置到一个特定的对象中var location = {    name = 'bin'};var name = 'out';with(location){    alert(name);//bin}alert(name);//out

1.5 操作符

  • 布尔操作符:

    • 逻辑非:

      • ! 表示,可以应用于 ECMAScript中的任何值,无论这个值是什么类型,这个操作符都会返回一个布尔值。逻辑非首先将它的操作符转换成一个布尔值,然后对其求反。

        • ! Object => false

        • ! "str" => false

        • ! "" => true

        • ! 0 => true

        • ! num => false (包括Infinity)

        • ! null => true

        • ! NaN => true

        • ! undefined => true

      • 如果连续使用两次 ! ,则会模拟 Boolean() 转换函数的行为,! 首先将操作数转换成布尔值再取反,然后!再取反一次,就相当于把操作数转换成了其对应的布尔值。

    • 逻辑与:

      • &&

      • 如果第一个操作数转换成布尔值是false,就返回第一个操作数

      • 如果第一个操作数转换成布尔值是true,就返回第二个操作数

      • false && alert(1) => false

      • true && alert(1) => alert(1)

    • 逻辑或:

      • ||

      • 与逻辑与相反

      • false || alert(1) => alert(1)

      • true || alert(1) => true

      •  

转载于:https://www.cnblogs.com/yuanyb/p/9703729.html

1. JavaScript学习笔记——JS基础相关推荐

  1. JavaScript学习笔记——JS基础0

    JavaScript的起源: JavaScript诞生于1995年,它的出现主要是用于处理网页中的前端验证.所谓的前端验证,就是指检查用户输入的内容是否符合一定的规则.比如:用户名的长度,密码的长度, ...

  2. JavaScript学习笔记——JS基础9

    90邮件的正则 <!DOCTYPE html> <html><head><meta charset="utf-8"><titl ...

  3. JavaScript学习笔记——JS中的变量复制、参数传递和作用域链

    今天在看书的过程中,又发现了自己目前对Javascript存在的一个知识模糊点:JS的作用域链,所以就通过查资料看书对作用域链相关的内容进行了学习.今天学习笔记主要有这样几个关键字:变量.参数传递.执 ...

  4. Javascript学习总结 - JS基础系列 二

    简述 本系列将持续更新Javascript基础部分的知识,谁都想掌握高端大气的技术,但是我觉得没有一个扎实的基础,我认为一切高阶技术对我来讲都是过眼云烟,要成为一名及格的前端工程师,必须把基础打扎实了 ...

  5. Javascript学习总结 - JS基础系列三

    简述 本系列将持续更新Javascript基础部分的知识,谁都想掌握高端大气的技术,但是我觉得没有一个扎实的基础,我认为一切高阶技术对我来讲都是过眼云烟,要成为一名及格的前端工程师,必须把基础打扎实了 ...

  6. 菜鸟教程-Javascript学习笔记-JS函数之前

    教程连接是: https://www.runoob.com/js/js-tutorial.html DOM(一些操作页面元素的方法) BOM(一些操作浏览器的方法) ################# ...

  7. 廖雪峰JavaScript学习笔记(基础及数据类型、变量)

    先睹为快 alert('我要学JavaScript!'); Run: 基本语法: 1.每个语句以;结束,不强制 2.语句块用{...} 3.//单行注释,/*...*/ 多行注释 数据类型: 1.不区 ...

  8. JavaScript学习笔记——JS错误处理

    JavaScript 错误 try 语句测试代码块的错误 catch 语句处理错误 throw 语句创建自定义错误 JavaScript抛出错误 当错误发生时,当事情出问题时,JavaScript 引 ...

  9. [Javascript学习笔记]JS变量不声明也能使用,直接天下无敌!

    认识变量 什么是变量 变量 变量的输入与输出 同时声明多个变量 声明变量特殊情况 变量命名规范 什么是变量 本质:变量是程序在内存中申请的一块用来存放数据的空间. 变量 变量的输入与输出 <!D ...

最新文章

  1. python行为识别_牛!Python 也能实现图像姿态识别溺水行为了
  2. hadooprbac_rbac权限管理系统的学习
  3. leetcode —— 209. 长度最小的子数组
  4. 比人高效10倍,3分钟就能评估帕金森!这是腾讯新推出的AI医生
  5. 笔记二:云上传与调用获取openid
  6. python美多商城项目百度网盘_美多商城项目(十)
  7. lammps数据后处理:Python Ovito 统计键长分布
  8. 论文编辑——插入公式编号并对齐、插入图表编号、正文引用各类编号
  9. 建网站购买服务器,建网站购买服务器
  10. 通过代码提高编程能力
  11. 2022 CCCC 团体程序设计天梯赛知识点以及题解
  12. 谷歌要收购这家脑电波控制器公司
  13. pollard_rho
  14. Excel批量导出当前工作表所有图片的快捷操作
  15. 几何光学学习笔记(26)-6.1光通量
  16. 雷达的工作原理示意图_倒车雷达的工作原理是什么 倒车雷达原理图
  17. tzc 1345 推箱子
  18. perl中grep用法总结 z
  19. 使用晨曦记账本,认识记账的重要性
  20. 零基础学习Vue3(保姆级教学)

热门文章

  1. 计算机专业是理科吗,计算机类和普通理科有什么区别?
  2. 剖析Elasticsearch集群系列之一:Elasticsearch的存储模型和读写操作
  3. Tour West Australia by Motorcycle
  4. java:去除字符串中空格 、 oracle (+) 、 mysql中数值运算符和函数
  5. Java MVC框架性能比较
  6. WPF触发器(Trigger)
  7. mybatis笔记3 一些原理的理解
  8. phpMyAdmin ‘tbl_gis_visualization.php’多个跨站脚本漏洞
  9. J2ME的移动支付系统的客户端的实现
  10. 数据库添加一个列的唯一约束