1.JavaScript的基本概念

  1. JavaScript是一个解释型的脚本语言
  2. JavaScript可以写在HTML文档内部的任何地方
  • 行内式
  • 内嵌式
  • 链入式:<script src="">链入式其标签内部的代码不会被执行</script>

2.JavaScript的基本语法

变量

使用var来声明变量,js里不存在int、float、bool、 double,声明任何类型的变量都用var

变量的命名:

  1. 可以使用$、下划线、字母开头

  2. 首字符之后可以使用数字、$、下划线、字母

js数据类型:分为两大类,基本数据类型&引用数据类型

基本数据类型:number,string,boolean

引用数据类型:object

undefined,null:

  1. null表示空值,没存值
  2. undefined表示未知的,表示一个未知状态的对象
  • 1.当一个变量只做了声明,而没有赋值之时,这个变量的状态是undefined而不是null
  • 2.当一个函数没有返回值,那么它将返回undefined
js里引用类型允许动态添加字段
例如:
var obj = new Object();
obj.name = "淘宝";
obj.age = "16";
obj.address = "浙江杭州";
alert("大家好,我叫"+obj.name+",我今年"+obj.age+",我来自"+obj.address);
js动态数据类型:
例如:
var bt;
bt = 125;
console.log(typeof(bt));
bt = "BT";
console.log(typeof(bt));
bt = true;
console.log(typeof(bt));

变量的作用域

  1. 一个页面里不同中声明的变量是不可以互相访问的
  2. js中没有变量命名冲突,但后声明的变量会覆盖前面同名的变量
  3. js中没有块级作用域的概念
  4. 变量不声明也可以直接拿来赋值(在函数中如果不声明就是一个全局变量,如果声明过就是局部变量)

流程控制语句

  • if……else
  • for
  • while
  • do……while
  • switch:

     1. js的switch语句中的case之后可以没有break(如果没有break程序会一直执行下去)

     2. switch这里判断的是全等(===)

js中判等:""(相等) 和 "="(全等)

==:只比较内容,不比较数据类型(常用)

var num1 = 123;
var num2 ="123";
if(num1 == num2){
console.log("相等");
}
else{
console.log("不相等");
}
结果为:相等

===:严格比对内容和数据类型

var num1 = 123;
var num2 ="123";
if(num1 === num2){
console.log("相等");
}
else{
console.log("不相等");
}
结果为:不相等

弹出对话框

  • alert(""); 警告消息框
  • prompt("");确认消息框:会弹出一个文本输入框,输入的数据类型为string
  • confirm("");提示消息框

运算符" + "和" - "

" + "的作用:

  1.算数相加,前提是2个操作数都是number类型的

  2.字符串连接,如果有一个数不是number类型的,那么" + " 就会进行字符串连接

var num = 100;
var str = "20";
console.log(num + str);
输出:10020

" -":算术相减

var num = 100;
var str = "20";
console.log(num - str);
输出:80
var num = 100;
var str = "true";
console.log(num - str);
输出:NaN:Not a Number 不是一个数

数据类型转换

parseInt(arg):将字符串转换为整数

  • 自动舍弃小数部分,只保留整数部分,不四舍五入
  • 它是个方法
  • 如果无法转换,返回NaN

parseFloat(arg):将字符串转换小数

  • 保留小数部分
  • 如果无法转换,返回NaN

Number(arg):Number是个对象

  • 将数据转换成为Number类型的数据
  • 如果无法转换,返回NaN

如何判断用户输入的是不是一个数字:isNaN(arg)

var str = "asd";
if(isNaN(str)){
console.log("不是一个数");
}
else{
console.log("是一个数");
}

输出结果为:不是一个数

JavaScript笔记(1)的更多相关文章

  1. [Effective JavaScript 笔记] 第4条:原始类型优于封闭对象

    js有5种原始值类型:布尔值.数字.字符串.null和undefined. 用typeof检测一下: typeof true; //"boolean" typeof 2; //&q ...

  2. [Effective JavaScript 笔记] 第5条:避免对混合类型使用==运算符

    “1.0e0”=={valueOf:function(){return true;}} 是值是多少? 这两个完全不同的值使用==运算符是相等的.为什么呢?请看<[Effective JavaSc ...

  3. [Effective JavaScript 笔记]第3章:使用函数--个人总结

    前言 这一章把平时会用到,但不会深究的知识点,分开细化地讲解了.里面很多内容在高3等基础内容里,也有很多讲到.但由于本身书籍的篇幅较大,很容易忽视对应的小知识点.这章里的许多小提示都很有帮助,特别是在 ...

  4. [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码

    函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式 ...

  5. [Effective JavaScript 笔记]第28条:不要信赖函数对象的toString方法

    js函数有一个非凡的特性,即将其源代码重现为字符串的能力. (function(x){ return x+1 }).toString();//"function (x){ return x+ ...

  6. 从头开始学JavaScript 笔记(一)——基础中的基础

    原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成   javascript   ECMASc ...

  7. 【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight

    做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...

  8. JavaScript笔记目录

    JavaScript笔记目录 一.JavaScript简介 二.在HTML中使用JavaScript ...持续更新中,敬请期待

  9. 蛋糕仙人的javascript笔记

    蛋糕仙人的javascript笔记:https://www.w3cschool.cn/kesyi/kesyi-nqej24rv.html

  10. JavaScript笔记(第一章,第二章)

    JavaScript笔记(第一章,第二章) 第一章: <meta http-equiv="Content-Type" content="text/html; cha ...

随机推荐

  1. Android的内部存储

    路径:/data/data/包名/ this.getCacheDir() = /data/data/com.example.qq/cache/ getFilesDir() = /data/data/c ...

  2. CSS三角形的实现原理及运用

    原理 css盒模型 一个盒子包括: margin+border+padding+content– 上下左右边框交界处出呈现平滑的斜线. 利用这个特点, 通过设置不同的上下左右边框宽度或者颜色可以得到小 ...

  3. 转 layer的Icon样式以及一些常用的layer窗口使用

    转载地址:http://blog.csdn.net/beauxie/article/details/60959971 本文搜集的是本人在实际开发中所用到的layer窗口,未用到的layer按钮,请参考 ...

  4. Python实现的寻找前5个默尼森数算法示例

    Python实现的寻找前5个默尼森数算法示例 本文实例讲述了Python实现的寻找前5个默尼森数算法.分享给大家供大家参考,具体如下: 找前5个默尼森数. 若P是素数且M也是素数,并且满足等式M=2* ...

  5. CentOS8 使用 aliyun 阿里云 镜像站点的方法

    CentOS8现已可使用国内的aliyun阿里云镜像站,方法如下: 用cd命令切换到yum.repos目录,备份原始的3个repo文件:cd /etc/yum.repos.d/sudo cp Cent ...

  6. HBuilder X 中使用模拟器进行App开发

    第一步:下载HBuilder X(建议下载开发版) 第二步:下载个模拟器,我这里使用的是(MuMu模拟器) 第三步:在HBuilder X 中新建一个项目 然后,打开模拟器 如果 HBuilder x ...

  7. 【POJ - 3045】Cow Acrobats (贪心)

    Cow Acrobats Descriptions 农夫的N只牛(1<=n<=50,000)决定练习特技表演. 特技表演如下:站在对方的头顶上,形成一个垂直的高度. 每头牛都有重量(1 & ...

  8. libvirt log系统分析

    1.编译和安装 配置参数需要加上–enable-debug=yes,相关定义在src/util/virlog.h文件中定义 图1-1 ENABLE_DEBUG宏 如果没有加这个编译参数,调用VIR_D ...

  9. APP安全_Android反编译

    反编译 Android的反编译工具:apktool,JEB等. Apk 文件的结构,如下: META-INF:签名文件 res:资源文件,里面的 xml 格式文件在编译过程中由文本格式转化为二进制的 ...

  10. Java入门第二季学习总结

    课程总概 该门课程作为java入门学习的第二季,是在有一定的java基础上进行的进一步学习.由于该季涉及到了java的一些核心内容,所以相对第一季来说,课程难度有所提升.大致可将该季的课程分为五部分: ...