书写的三种方式

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. uni-simple-router

    目录 uni-simple-router 一.快速上手 扩一:webpack插件之DefinePlugin 扩二:uni-read-pages 如何获取pages.json中的路由 二.H5模式 2. ...

  2. Python 空间名称与闭包函数

    空间名称与闭包函数 名称空间 名称空间 namespaces:存放名字的地方,是对栈区的划分 名称空间在栈区中分为三种,详细的划分不同的空间,不同空间可以存放相同名字的名字 内置名称空间 存放的名字: ...

  3. linux 查询文件命令

    jps; 当前服务器中所有的java进程: jps |grep XXX; 查询当前服务器某个进程: locate xxx;查询某个文件的位置:

  4. springcloud-- Alibaba-nacos--支持的几种服务消费方式

    通过<Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现>一文的学习,我们已经学会如何使用Nacos来实现服务的注册与发现,同时也介绍如何通过LoadBal ...

  5. JAVA - 线程同步和线程调度的相关方法

    JAVA - 线程同步和线程调度的相关方法 wait():使一个线程处于等待(阻塞)状态,并且释放所持有的对象的锁:wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等 ...

  6. 解决maven依赖冲突,这篇就够了!

    一.前言 什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成了包版本冲突. 依赖冲突的原因 我们在maven项目的pom中 一般会引用许许多多的dependency.例如 ...

  7. 【Redis】客观下线

    在sentinelHandleRedisInstance函数中,如果是主节点,需要做如下处理: void sentinelHandleRedisInstance(sentinelRedisInstan ...

  8. 【主流技术】ElasticSearch 在 Spring 项目中的实践

    前言 ElasticSearch简称es,是一个开源的高扩展的分布式全文检索引擎. 它可以近乎实时的存储.检索数据,其扩展性很好,ElasticSearch是企业级应用中较为常见的技术. 下面和大家分 ...

  9. Leetcode----<Re-Space LCCI>

    题解如下: /** * 动态规划解法: * dp[i] 表示 0-i的最小不能被识别的字母个数 * 求 dp[k] 如果第K个字母 不能和前面的字母[0-{k-1}]合在一起被识别 那么dp[k] = ...

  10. openssl客户端编程:一个不起眼的函数导致的SSL会话失败问题

    我们目前大部分使用的openssl库还是基于TLS1.2协议的1.0.2版本系列,如果要支持更高的TLS1.3协议,就必须使用openssl的1.1.1版本或3.0版本.升级openssl库有可能会导 ...