JS基础知识day1

        JS全称Javascript与Java并不相同,Java本身热度较高,而JavaScript作为一门新型的脚本语言需要通过一种方式令大众熟知,因此取名为JavaScript。

        特点:1.它是一种脚本语言,它只能依赖于其他的程序,不能独立运行。

                   2.它相较于其他语言来说是弱类型,语法要求并不严格,对于数据类型分类相对于其他语言来说并没有那么严格或者细致。

                   3.它是直译型语言,可以直接进行翻译。

另外作为一种脚本语言它被引入HTML时存在三种引入方式

        1.<script></script>                             -内部JS

        2.<script src="路径"></script>           -外部导入JS

        3.在标签上写代码                              -行内JS

JS能干什么呢?

        1.加强页面动画效果(形成动态的HTML+CSS)

        2.前后端数据交互(JS接受后端传来的数据,JS给后端传输数据)

JS最早是为了解决表单验证的问题(减少服务器请求次数)

JS的三种输出语句

在JS的输入语言中:

  •         数字可以不打引号(在控制台中显示为蓝色)
  •         字符串必须打引号(在控制台中显示为黑色)
  •         布尔值,true  flase不打引号(在控制台中显示为蓝色)

(如果布尔值和数字加上引号会变成字符串。)

        注意:引号不分单引号和双引号,都可以直接使用,但是单引号里只能套双引号,双引号里也只能套单引号。

        1.alert 弹窗效果

        alert()弹窗;作为一种弹窗效果不在文档中,不能识别标签,可以识别空格。

        2.document.write 文档写入

        document.write();文档写入,在文档中进行是可以识别标签的,但不能识别空格,可以用&nbsp;强制空格。

        3.console.log 控制台记录

        console.log();用户是看不到的,主要用于代码测试,给开发人员使用。

关于JS的报错

JS报错之后,后续代码不能继续运行。作为开发人员需要有对代码进行自查的能力。

        console.log(hehe);  // 没有给字符串加引号,控制台报错为 hehe is not defined 报错,未被定义;

        consol.log(888);   // console拼写出现错误时,控制台报错为 consol is not defined ;

        console.logo(999);   // 当log拼写出现错误时,控制台报错为 is not a function 函数;

        alerrt(33);   // 当alert拼写错误时,控制台报错为  is not defined;

        document.writee(99);  // 当write拼写错误时,控制台报错为 is not a function;

        console.log('666);// 后引号缺失控制台报错为invalid 违法;   前引号缺失控制台报错为missing缺失;

        以上为前期可能会出现报错的简单汇总。

变量

        变量分为变量和常量。变量是可以改变的值,而常量为不可以改变的值。

声明变量的方式

var x;

x = 1 ;  // 赋值,=表示x里存在一个1;

console.log(x);   //执行从上往下翻译,最终控制台中出现一个为1的数字;

var x;

x = 'haha'

console.log('haha');// 最终控制台中出现一个为haha的字符串;

交换两个变量的值

var x;

x=1;

var y;

y=2;

//拿出一个空杯子,进行赋值,=是把右边的值赋给左边;

var z;

z=x;

x=y;

y=z;

console.log(x); //   2;

console.log(y); //   1;

console.log(a);  // is not defined没有被定义这个变量;

//变量不能加引号;

变量的命名要求(底线)

  • 只能是数字,字母,下划线以及$
  • 数字不能开头
  • _ 以及 $ 可以开头(如果担心写的单词是关键字或者保留字可以在前面加上_或$)
  • 不能使用关键字和保留字(关键字:JS中正在使用,具有特殊意义的单词;保留字:JS将来可能定义为关键字的单词)

变量的命名规范(建议)

  • 不用拼音
  • 建议使用驼峰命名或者组合命名
  • 命名尽量做到见名知意

var user-name=‘小花’;

// 组合命名 ;

var userName='小花';

// 小驼峰;

var UserName='小花';

// 大驼峰;

输出变量

变量输出时不能加引号,区分大小写

alert只有一个参数,log,write可以写多个参数

var x=1 , y=2;

console.log(x , y);

alert(x);

document.write(x , y);

数据类型

基本数据类型:数字+字符串+布尔值+null+undefined

判断方法 typeof

var x=1;                          //js                   // 其他语言

console.log(typeof x); // number 数字   // int

var y=1.2;

console.log(typeof y);  //number 数字     //  float

var user_name='yy'
console.log(typeof user_name);  //string 字符串  //  char

var bool =true;
console.log(typeog bool);  //boolean 布尔值

var a;
console.log(typeof a); //undefined 未定义, 这种数据类型只有JS有

var b=null;
console.log(typeof b); //object  空对象

数据类型之间的强制转化

*把其他的转成字符串
//      把数字变成字符串     '1'
//      把布尔值转字符串     'true'
//      把null转字符串      'null'
//      把undefined转字符串 'undefined'

var x = 1;
console.log(x);   //1

var str = String(x);
console.log(str);   //'1'


var boo = true;
var str2=String(boo);
console.log(str2);

*其他类型转数字

var str ='123';    //纯数字字符串可以直接转数字
var n= Number(str);
console.log(n);


var str2='hello'; //字符串包含非数字 NaN
var m=Number(str2);
console.log(m);  //NaN    not a number  不是一个数字


var str3='';    //空字符串和空格字符串都转为0
var n2=Number(str3);
console.log(n2);

//布尔值转数字
//   true   1
//   false  0

var bool = true ;
var n4 = Number ;
console.log(n4);


//null  转数字  0
//undefined  转数字  NaN

*其他转布尔值

// 数字转布尔值 0和NaN为false其他都为true

//字符串转布尔值

// 字符串有东西就是true(正常字符串都是 true ,空格也是true)

// 空字符串 false

//null转布尔值 false

//undefined转布尔值 false

var x = 1 ;
​
var bool =Boolean(x);
​
console.log(bool);   //true

拓展

// 字符串

// 带字母的字符串 ’hello‘

// 纯数字字符串 ’123‘

//数字

// 纯数字 123

// 带字母的数字 NaN

var y =NaN ;
​
console.log(y);
​
console.log(typeof  y);    //number
​
 var bool2 =Boolean;
​
console.log(bool2);      //false

小结:

alert(); document.write(); console.log();三种输出语句

typeof 判断基本数据类型:number/string/boolean/null/undefined

//Number();强制转为数字

//String();强制转为字符串

//Boolean();强制转为布尔值

括号里些变量和常量都可以

运算符

+、-、*、/ 、%只有数字

(数字包括:正常数字 NaN Infinity)

只有数字可以做减法,乘法,除法,求模运算

//1被除数 0除数 除数不能为0

var s=1/0;

console.log(s); //infinity 无穷大

//求余数 模

var a = 7 % 3;

console.log(a);      //1

var b = 3 % 7;

console.log(b);      //3

加号的含义,遇到字符串就是拼接,没有字符串就是求和的意思。

//字符串拼接

var x = 'hello';

vary = ' world'

console.log(x+y); hello world

//数字求和

var a = 1;

var b = 2;

console.log(a+b);     //3

//字符串拼接

var m ='1';

var n = 2;

console.log(m+n);     //12

//数字求和

var a2 = true;

var b2 = flase;

console.log(a2+b2);     //1

加号可以获得数字或者字符串

其他可以是数字或者转化为NaN

隐式转化

*其他转字符串

强制转换 String()

+'' 加空字符串

var x =1;

var str = x+'';

console.log(str);

console.log(true+'');

*其他转数字

强制转化Number

-0,/1;*1,%模比本数字更大的值

var x = '123';

console.log(x-0);

var m ='23';

var n = m*1;

console.log(m); '23'

console.log(n); 23

变量在使用过程中,是值在做计算,不是变量在做计算

比较运算符

大于>

小于<

大于或等于 >=

小于或等于 <=

等于等于有两种;== ===

        ==判断值相等

        ===值和数据类型都要判断

值不相等 !=                              (==反义词)

值或者数据类型不相等 !==       (===反义词)

关于等号

=赋值

==判断值相等

===值和数据类型都要判断

js没有连等式

0<10<20,只有数学可以这样写;js不能这样写,js是一步步算

*console.log(0<10<2);解读0<10 得到true

true<2 得到true

逻辑运算符

与 并且 多个条件同时满足 &&

或 只要有一个满足 //

非 取反 !

        

0<10<20 改变成JS

console.log( 10>0 && 10<20 ); true

短路运算

逻辑与运算中 见假即假 见假就短路了

逻辑或运算中 见真即真 见真就短路了

比较运算符的优先级大于逻辑运算符

赋值运算符(简写)

=

+=

-=

*=

/=

%=

var x=1;

        //x=x+1;

x+=1;

自增运算

++   //自增是+1

var x =1;

//x=x+1

//x+=1;

//x++;

++在后面,先走赋值,再走自增

var x=1;

var y = x++;

console.log(y); 1

console.log(x); 2

++在前面先算x自增,再算赋值

var m=1;

var n=++m;

console.log(m); 2

console.log(n); 2

var a =2;

var d = a++ + ++a + a;

a++ 2 ,a=3

++a ,a=4

2+4+4

+console.log(d); 10

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值