初识Javascript

一. 初识JavaScript

1.1.javascript的历史

布兰登·艾奇

  • 1995年,网景公司发明了一款navigator0.9版本的浏览,公认成熟,
  • 缺点:不能交互,不能进行表单验证,网景公司找到布兰登艾奇,livescript的语言,
  • 用于表单校验,交互. navigator2.0 版本上运用. 10天 —> javascript

1.2JavaScript基本介绍

  • HTML/CSS标记语言–描述类语言
    HTML 决定网页结构和内容(决定看到什么),相当于人的身体
    CSS 决定网页呈现给用户的模样(决定好不好看),相当于给人穿衣服、化妆
  • JS脚本语言–编程类语言
    JavaScript一种在浏览器中解释运行的脚本语言,它的解释器被称为JavaScript引擎,为浏览器的一部分,
    是广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML(HTML5)网页增加动态功能。
  • 应用场景: 表单验证,百度智能搜索,京东网站动效

1.3 JS和H5的关系

h5:狭义:html的第5个版本
h5:web开发所有技术: html css js nodejs vue react
js:browser :浏览器 客户端
    server: 服务器 服务端

1.4JS的组成

  • js组成:ECMAScript(语法),DOM,BOM
  • DOM:document object model 文档对象模型
  • BOM:browser object model 浏览器对象模型
  • js本质:可以通过js代码操作文档,浏览器

1.5 JavaScript编写以及如何运行JS代码

  • JS 有3种书写位置,分别为行内、内嵌和外部。
  • 下面展示一些 行内式
 <button onclick='alert(1)'>按钮</button>
  • 下面展示一些 外链式。外链式不要在script、标签中写代码,如果想写,再下面写
<script src="js/demo.js"></script>
  • 下面展示一些 内嵌式
<script>
          // 内嵌式:写在html结构的底部,为了能够获取页面中的内容才写到最下面的
  </script>

1.6 JavaScript注释

// 单行注释 :代码的解释说明

    /*
     多行注释
    */

1.7 JavaScript输入输出语句

console.log('控制台输出1');
alert('弹框1')
  • 页面输出
document.write('<p>helloworld</p>')
 document.write('<p>helloworld</p>')
  • 提示框
var a = prompt('请输入...');
console.log(a);

二. 变量的概念

1.变量的概念:存储数据的容器

var x = 3.141592663773289299032;
console.log(x);

2.变量的定义:

2.1 先声明,后赋值

var x; //声明变量
 x = 10;//赋值
  console.log(x);

2.2 声明的同时赋值

var y = 20;
console.log(y);
console.log(z);
//注意:变量一定要先声明后赋值

2.3 可以同时声明多个变量,再进行赋值

var x,y,z; //声明了3个变量
 x = 10;
 y = 20;
 z = 30;

console.log(x);
console.log(y);
console.log(z);
console.log(x,y,z);

3. 变量的命名规则和规范

3.1 变量是由字母,数字,下划线,美元符号, 现在已经支持汉字了,不推荐

 var _abc$ = '张三';
console.log(_abc$);
var  班长 = '李张超';
console.log(班长);

3.2 不能以数字开头

var 1abc

3.3 不能是关键字和保留字

var for = 10;

3.4 区分大小写

var Var = 10;
console.log(Var);

3.5 规范:见名识意 eatApple number

 var num1 = 10;
 var num2 = 20;

3.6 驼峰命名法

如果多个单词组成,第一个单词全部小写,从第二个单词开始,首字母全部大写
var anBigApple = 90;

三. 数据类型

3.1 数据类型

数据类型:对数据的分类

数据类型的种类:
基本数据类型:字符串(string),数字(number),未定义(undefined),空(null),布尔(boolean)
复杂数据类型:对象(了解)

    姓名:"赵丽影"  ---》字符串
    年龄:33       --->数字类型
    体重:未知     ----> undefined
    是否结婚: 否   ----> 布尔  true、false
    空:           --->null
    三围:{腰围,臀围,胸围} --->对象
  • 检测数据类型:typeof关键字

1.1 字符串(string)

  • 单引号或者双引号引起来 ‘张丽英’ ‘123’ “true” ‘null’

      var str1 =  '找钱';
      var str2 = 'true';
     var str3 = '我是你的"小苹果"'; //外单内双,外双内单
     var str4 = '我是你的"小苹果'; 
     var PI = 3.1415926
      // 数字和字符串是可以进行拼接的
      console.log('你会背诵PI,PI是'+PI+',我回答对了吗?');
      console.log(str1,str2,str3,str4);
     console.log(typeof str1);
      console.log(typeof(str1));
    

1.2 数值类型

	10,  20.1 , -10, 01010101, 0xabef001,054, NaN
	整数,小数,二进制(0和1),八进制(0-7),十六进制(0-9 a-f)
	console.log(typeof 10);  
    console.log(typeof 10.1);
    console.log(typeof -10);
    console.log(01010101); //转为10进制
    console.log(0xabef001); //转为10进制
    console.log(054); //转为10进制
    console.log(typeof NaN);

    // NaN: number类型,但是不是数字

    // NaN的由来:在参与运算的过程中,出现了无法表示的数字的时候
    console.log('张'-0);

1.3 undefined 未定义

	var x ;
    console.log(x); // 只声明,未赋值

    // console.log(y); //报错

1.4 boolean 布尔

    console.log(true);// 是 真 对
    console.log(false);// 否 假 错

    console.log(typeof true);//boolean 布尔类型

1.5 null 空

	var a = null; // 后期a将重新赋值成对象
    console.log(typeof a); // object
    console.log(typeof 10);// number
    console.log(typeof typeof 10);//string

1.6 isNaN

用来判断一个变量是否为非数字的类型,返回 true 或者 false
isNaN(x):x是数字,返回false;x不是数字,返回true;

2.数据类型转换

2.1字符串转为数值类型

 1. Number()
 结论一:Number()可以将纯数字的字符串转为数值
 结论二:Number()可以将非纯数字的字符串转为NaN,也是数值类型
 结论三:Number()可以将true转换为1,将false转换为0.
 2. parseInt()
结论一: parseInt()可以将纯数字的字符串转为数值
结论二: parseInt()可以将数字开头的字符串转为数字
 结论三: parseInt()可以将非数字开头的字符串转为NaN,也是属于number类型
 结论四: parseInt()保留整数
3. parseFloat()
结论一: parseFloat()保留小数点后面的数字
 结论二: parseFloat()数字开头的字符串转为数字
4. 隐式转换  - * / % +
 console.log('--------------------Number()-------------------');
var str = '100';//字符串
console.log(typeof str);//  检测str的类型为string
 console.log(typeof Number(str));//通过Number()将str转换为数字,再进行检测
var str1 =  '张三';
console.log(typeof str1);//string
 console.log(typeof Number(str1));// number
 console.log(Number(str1));//NaN
 var str2 = '100px';
  console.log(typeof str2); //string
   console.log(Number(str2));//NaN 
   console.log(typeof Number(str2));//number
console.log('--------------------parseInt()-------------------');
var str = '200.1';
 console.log(typeof str); //string
 console.log(parseInt(str));//将字符串转为数值100
 console.log(typeof parseInt(str));//number
 var str1 = '100px';
 console.log(typeof str1); //string 
 console.log(parseInt(str1)); //100 将数字开头的字符串转为数字
 console.log(typeof parseInt(str1)); //number
 var str2 = 'zhangsan';
 console.log(typeof str2);//string
 console.log(parseInt(str2));//NaN
console.log('--------------------parseFloat()-------------------');
 var x = '10.1px';
 console.log(typeof x);
 console.log(parseInt(x));//10
 console.log(parseFloat(x));//10.1

结论:

  1. Number()和parseInt()的不同点:
    parseInt()可以将数字开头的字符串转为数字,Number()只能将纯数字转为数字类型
  2. parseInt()和parseFloat()的不同点:
    parseInt()将字符串转为整数
    parseFloat()将字符串转为 小数
console.log('--------------------');
    var x = '100'

    console.log(typeof x);//string
    // console.log(x-0); //
    console.log(x*1); //
    console.log(typeof (x*1)); //

2.2 数字转为字符串

  1. num.toString()
  2. String(num)
var num = 123;
console.log(typeof num);
console.log(typeof num.toString());
console.log(typeof String(num));

2.3 转为boolean类型:

  1. Boolean()
  2. !!
    ‘abc’ 10 true null undefined
    ‘’ 0 undefined null false
 var x = '';
 var y;// undefined
 var z = null;
 var a = 0;
 var b = 'zs'
 console.log(Boolean(x));
 console.log(Boolean(y));
console.log(Boolean(z));
console.log(Boolean(a));
console.log(Boolean(b));
console.log(!!x);
console.log(!!y);
console.log(!!z);
console.log(!!a);
console.log(!!b);

四. 运算符

1. 算术运算符:+ - * / %

+: 拼接 (字符串和字符串,字符串和数字相加)
+: 求和

var x = 2;
var y = 21;
var z = x % y;
console.log(z);//2
// var a = 'js好难呀';
// var b = 100;
// var c = 200;
// console.log(a+b+c);// js好难呀100200
// // 'js好难呀100' + 200  
// console.log(b+c+a);//300js好难呀

2.赋值运算符

var a = 10; //将10赋值给10
a  = 20; //将a重新赋值为20
a += 20;  //等价于 a = a+20  将左边a和右边20求和,再重新赋值给a
a -= 10; // a = a-10
a *= 10; // a = a*10=100
a+=3;  //a = a+3=13
a-=5;  // a = a-5=8
a*=20; // a = 160
console.log(a); 

3 关系运算符: > < >= <= == != === !==

关系运算符比较出的结果是布尔类型值
console.log(3>4); //false
console.log(3<4); //true
console.log(10=='10'); //只比较值,不比较类型
console.log(10==='10');//既比较值,也比较类型
console.log(3!=4);

4.逻辑运算符:&& || !

// &&: 与   
// console.log(3>5>4);// 错误
   console.log(3>5&&5>4); // 一假即假  false
   console.log(8>5&&5>4); // 一假即假   true
   console.log(9==5&&5>4); // 一假即假   false
   console.log(9==5&&5==4); // 一假即假   false
   // ||: 或    一真即真(整个表达式有一个真,结果就是真)
   console.log(4>2||3>6); //true
   console.log(5==3||false||false); //false
    // ! : 非         取反
    console.log('----------');
    console.log(!true); //false
    console.log(!false); //true
    // console.log(!(8>9&&9==0||9==0));//true
    var a = 10;
    var b = '10';
    console.log(!!(9>=9&&8==8||a==b)); //true

5.递增和递减运算符

	//    a++;在a的基础上加1
    //    ++a: 在a的基础上加1
    // 区别:单独使用时,都是自身加1
    //       在参与输出,赋值,等操作时,a++和++a是有区别的
    //       1. a++  先输出a,再自身加1
    //       2. ++a   先加1,再输出
    //    var a = 10;
    // //    ++a;单独使用
    //    console.log(++a); // 11 
    //    console.log(a); // 11
    // var a  = 10;
    // // var b = ++a;
    // var b = a++;
    // console.log(b);
    // var x = 10;
    // var b = x++;//b = 10
    // console.log(b++);//10
    // console.log(x);//11
    // var x = 10;
    // var y = x++ + ++x;
    // // y = 10 + 12
    // console.log(y);//22
    var x = 10;
    var y = ++x;
    var c = ++y;
    console.log(c);//12
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值