书写的三种方式

1. 书写在script标签里面(一般会用到的)

2.书写在js文件里面(推荐)
定义一个js文件(xxx.js)

3. 书写对应的事件属性里面(比较少用)

初体验

1. 目前js的代码,必须写在一个script标签里,script的默认type text/javascript
2. alert('字符串')提示框
3. console.log("hi")
4. document.write("在页面上输出")

注释(注释相当于解释这个句话 这个注释是不会被编译的)

1.单行注释 ctrl + /
2.多行注释 ctrl + shift + a

变量定义(使用var关键词声明)

例:var  number  = a

1.使用var关键字,在内存中开辟一个空间,并给空间命名和给空间赋值
声明变量 : var myname="xxx"
2.多个变量 简写:多个变量用","隔开,
var myname="xxx" , age=20 , sex="男";
3.变量的默认值是 undefined 未定义类型
4.查看js的基本数据类型,使用 typeof
例: console.log(typeof "hi")

js属于弱类型语言

1.可以是任意类型的数据
2.数据类型可以被修改

变量名的书写(见名知意 区分大小写)

1.只能是数字,字母,下划线,$
2.不能是数字开头
3.不能是关键字或保留字
4.严格区分大小写
5.驼峰命名法
小驼峰: 变量,形参,函数
大驼峰: 类型,构造函数
6.语义化,见名思意

7.普通变量首字母小写
常量全大写(const)

js的数据类型

1.string,number,bool,undefined,null,object
2.值类型数据类型 string,number,bool,undefined,null
3.引用类型 object (Array,Function..)
  4.特殊的值 NaN  --> number
   5.特殊的类型: null,undefined

案例:
1). 字符串 String  由一组双引号或单引号组成的
        var str = 'a';
        var str1 = "b";
        console.log(typeof (str));
        console.log(typeof (str1));

2). 数值类型 Number
        var num1 = 100;
        var num2 = 23.4
        console.log(typeof (num2))

3). boolean 布尔类型,它值 (true/false); 真/假
        var isLogin = true; //已经登录
        var isReg = false; //没注册
        console.log(isLogin); //true

4). undefined 未定义类型
防止程序出错,js会隐式设置一个默认的undefined
        var sex;
        console.log(typeof (sex)); //undefined

5). null  空地址
        var a = null;
        var b = null;

console.log(b);
6). 对象类型  Object
    a.对象的写法1
        var person = new Object();
        person.name = "杨超越";
        person.age = 22;
        person.address = "上海"
        console.log(person); //{name: '杨超越', age: 22, address: '上海'}
    b.对象的写法2
        var dog = {
            name: "旺财",
            age: 4,
            address: "湖南"
        };
        console.log(dog); //{name: '旺财', age: 4, address: '湖南'}

元素类型的转换

 var number = 1
    // 数字转换为字符串
    console.log(number.toString());
    // String 转 number
    var str = 123.12
    console.log(Number(str));
    // 转整数
    console.log(parseInt(str));
    // 转小数
    console.log(parseFloat(str));
    // isNaN 是NaN返回true不是返回false(not a number)
    var a = 10
    console.log(isNaN(a)); //false
    var str = 'abc'
    console.log(isNaN(str)); //true
    // 无穷大 无穷小(Infinity)
    //无穷大
    var max = Infinity
    //无穷小
    var min = -Infinity
    // 将字符串转为对应的boolean类型
    //转为boolean类型 非空就是true 空字符串表示false
    var str = 'abc'
    var b = Boolean(str); //false
    var b1 = Boolean('') //true
    console.log(b, b1);
    // 将number转为布尔类型
    var number1 = 10
    //number转布尔 非0和非NaN则为true NaN和0就是false
    console.log(Boolean(number1)) //true
    console.log(Boolean(0)) //false
    console.log(Boolean(NaN)) //false
    // 将undefined和对应的null转为boolean( false)
    var un
    console.log(Boolean(un)) //false
    console.log(Boolean(null)) //false
    // 将boolean类转为number类型( false 0 true 1)
    console.log(Number(true)) //1
    console.log(Number(false)) //0
    // 将对应的undefined和null转为number
    var un
    console.log(Number(un)) //NaN
    console.log(Number(null)) //0
 

运算符和表达式

1.算术运算
+ - * / % ++(自增) --(自减)

2.拼接运算符:+,加号两边只要有一边出现字符串就是拼接

3.赋值运算符+=,-=,/=,*=
4.逻辑运算符:
与 & 找假
或 || 找真
非! 取反
&& || 被称为短路运算符

自增和自减的前置和后置的区别

前置先执行对应的++(--) 再执行对应的代码
后置先执行对应的代码 再执行++(--)

列如:

  //俩个number相加

  console.log(2 + 1); //3
    //一个string和number相加 连接操作 自动转为string 字是黑色的属于字符串
    console.log('123' + 1); //1231
        //boolean类型和null和undefined小于number 自动转为number
        console.log(true+1);//2
        //- * / % 全部会转为number类型进行操作
        console.log('12'-1);//11
        console.log(true-1);//0
        console.log(undefined-1);//NaN 出现NaN计算结果一个是NaN
        console.log(null-1);//-1
        console.log(true*3);//3
        //% 取余 取模
        //大数取余小数 得到的是余数 小数取余大数得到小数
        console.log(6%3);//0
        console.log(7%3);//1
        console.log(4%3);//1
        console.log(3%4);//3
 
 //++ 在原本的基础上+1  -- 在原本的基础上减一
     var i = 1
        //前置(先执行++(--)操作 再进行对应的代码块的执行)和后置 (先执行代码块再进行 ++(--)操作)
        console.log(i++);//1
        console.log(i);//2
        console.log(++i);//3
        console.log(i--);//3
        console.log(i); //2
        console.log(--i);//1
        //计算顺序 先算括号里面的 ++或-- 再进行乘除取余 再进行 + -
        console.log(++i * 10); //20
 
// 赋值运算符+=,-=,/=,*=
        var a = 10
        a+=10 //=a+10
        a/=10 //2
        a*=5 //10
        console.log(a);
 

位运算(转为二进制再进行位的变化运算)

>> 右移 << 左移 ~~ 去掉小数

例如:如何最快从2变成16

  var i = 2
        //位运算 快速从2得到8 二进制满2进1   值1  0
        //2的二进制就是10  ==>   16的二进制就是10000
        //左移后面是进行补零操作 最后一位是多少就是多少 0 + 2^0*1 +2^2*0 +2^3*0 +2^4*1=16     <<3相当于补了3个0
        console.log(2<<3);
 

三元运算符(三目运算符)

  // 表达式(boolean类型表达式)? true的内容 :false的内容
    var a = 1
    var b = 2
    console.log(a < b ? 1: 2); //1
    console.log('123a' / 10 ? 'hello' : 'hi'); //hi )
 

number保留几位小数的方法 toFixed

  var number1 = 3
   var number2 = 10
    //默认的大小16位 整数位也是16位 超出不能显示(可以通过特殊方法解决)
    console.log(number2 / number1); //3.3333333333333335
    //保留小数(方法会优先调用) 转成字符串
    console.log((number2 / number1).toFixed(3));//3.333

JavaScript的入门的更多相关文章

  1. 【转】HTML, CSS和Javascript调试入门

    转 http://www.cnblogs.com/PurpleTide/archive/2011/11/25/2262269.html HTML, CSS和Javascript调试入门 本文介绍一些入 ...

  2. JavaScript快速入门(四)——JavaScript函数

    函数声明 之前说的三种函数声明中(参见JavaScript快速入门(二)——JavaScript变量),使用Function构造函数的声明方法比较少见,我们暂时不提.function func() { ...

  3. 第一百一十九节,JavaScript事件入门

    JavaScript事件入门 学习要点: 1.事件介绍 2.内联模型 3.脚本模型 4.事件处理函数 JavaScript事件是由访问Web页面的用户引起的一系列操作,例如:用户点击.当用户执行某些操 ...

  4. JavaScript简单入门(补充篇)

    本文是对上一篇 JavaScript简单入门 的一些细节补充. 一.全局变量和局部变量 在<script>标签内定义的变量是当前页面中的全局变量.即 <script>标签可以直 ...

  5. Javascript闭包入门(译文)

    前言 总括 :这篇文章使用有效的javascript代码向程序员们解释了闭包,大牛和功能型程序员请自行忽略. 译者 :文章写在2006年,可直到翻译的21小时之前作者还在完善这篇文章,在Stackov ...

  6. 《javascript经典入门》-day02

    <javascript经典入门>-day02 1.使用函数 1.1基本语法 function sayHello() { aler('Hello'); //...其他语句... } #关于函 ...

  7. 《javascript经典入门》-day01

    <javascript经典入门>-day01 1.了解JavaScript 01.浏览器每次加载和显示页面时,都在内存里创建页面及其全部元素的一个内部表示体系,,也就是DOM.在DOM里, ...

  8. Javascript之入门篇(一)

    上一篇学习了什么是JavaScript语言及其作用和特有的特点等,本篇将详细介绍JavaScript一些入门使用方式. 对于初学者来讲,由于JavaScript是嵌入到HTML页面里面的,首先创建一张 ...

  9. JavaScript 基础入门

    JavaScript 基础入门   JavaScript 的组成 JS 由三部分组成,它们分别是:ECMAScript.DOM.BOM. ECMAScript     因为网景开发了JavaScrip ...

  10. JavaScript基本入门02

    目录 JavaScript基础入门 02 条件语句 if 语句 if .. else 语句 switch 结构 循环语句 while 循环 continue 关键字 do...while语句 for ...

随机推荐

  1. Redis分布式锁实现Redisson 15问

    大家好,我是三友. 在一个分布式系统中,由于涉及到多个实例同时对同一个资源加锁的问题,像传统的synchronized.ReentrantLock等单进程情况加锁的api就不再适用,需要使用分布式锁来 ...

  2. neo4j中重复节点问题

    neo4j中重复节点问题 neo4j中,在导入csv文件时,可能会出现有重复节点的现象.可以分为以下步骤解决:1.先查看下某个标签下的节点总数match (n:PERSON) return count ...

  3. BUUCTF-LSB

    LSB 看到这个题目应该是LSB隐写,StegSolve打开,在红绿蓝0号上发现图片信息 然后在Analyse选择data extract Save bin保存图片即可 得到的是个二维码,解码即可.

  4. 一分钟入门 Babel(下一代 JavaScript 语法的编译器)

    简单来说把 JavaScript 中 es2015/2016/2017/2046 的新语法转化为 es5,让低端运行环境(如浏览器和 node )能够认识并执行.严格来说,babel 也可以转化为更低 ...

  5. UiPath官网认证中文教程

    RPA之家公众号:RPA之家 RPA之家官网:http://rpazj.com 斗鱼直播:http://www.douyu.com/rpazj UiPath中文社区QQ群:465630324 RPA& ...

  6. 训练一个图像分类器demo in PyTorch【学习笔记】

    [学习源]Tutorials > Deep Learning with PyTorch: A 60 Minute Blitz > Training a Classifier   本文相当于 ...

  7. IDEA快速创建maven项目

    遇到问题不要急,不要怕. 一.  二. 三.  四.Finish进来之后,项目会加载一会,之后会是下面这样子.  五.继续往下面配置,建立java和resorces文件夹  六.下面配置tomcat服 ...

  8. 避坑手册 | JAVA编码中容易踩坑的十大陷阱

    JAVA编码中存在一些容易被人忽视的陷阱,稍不留神可能就会跌落其中,给项目的稳定运行埋下隐患.此外,这些陷阱也是面试的时候面试官比较喜欢问的问题. 本文对这些陷阱进行了统一的整理,让你知道应该如何避免 ...

  9. 还在因为部署 Kubernetes 时,无法拉取 k8s.gcr.io/*** 镜像而头疼吗

    拉取外网 Kubernetes 镜像 还在因为部署 Kubernetes 时,无法拉取 k8s.gcr.io/*** 镜像而头疼吗? 传送门 https://github.com/liamhao/pu ...

  10. VScode中配置Java环境

    vscode 中配置Java环境 转载说明:本篇文档原作者[@火星动力猿],文档出处来自哔哩哔哩-[教程]VScode中配置Java运行环境 转载请在开头或显眼位置标注转载信息. 1.下载VScode ...