JavaScript修炼之路-筑基篇(一)输入输出、变量声明

目录

1、引用js

2、输入与输出

3、变量声明、数据类型(一般只需记住用var来声明变量即可)

4.作用域

5、其它


1、引用js

行内式js,直接写到元素内部

eg:

   <input type="button" value="javascrpt" onclick="alert('wochaochao')">

内嵌的js(与写css style一样)

<script>

        alert()

    script>

外嵌式(单独写在js文件里面,然后在html里面写以下引用)最常用的方式。

  <script src="my.js">script>

2、输入与输出

alert ('wochaochao') 在主界面弹出警示框;

prompt'   ';弹出输入框;                      注意:prompt取过来的值是 字符型的

console.log(’‘);在控制台进行输出;

                一般会要用于进行算法结果输出,以验证算法的正确性。

当出现需要输出单或双引号时,进行引号嵌套:内单外双 或者 外单内双

(字符串)转义符,无需特意记住

  1. \n     换行
  2. \\     斜杠\
  3. \t    tab缩进
  4. \b    空格

3、变量声明、数据类型(一般只需记住用var来声明变量即可)

  •         var  是js关键字用来 声明变量

        var myname = ’字也可8989数字也可‘;

        js中 var 变量 是 动态类型,根据右边的值进行来确定变量类型。

  •  变量用于存储用户输入的数据

            eg:ver a = prompt(’请输入你的名字‘);

            alert(a);

            console.log(a)

  • 判断非数字

     console.log(isNaN(101));输出false

    当括号内是非数字 时, 输出ture

    (验证用户输入是否合法)

  • 获取数据类型

        typeof

        console.log(typeof(a));

  • 数据类型转化

        toString();转化为字符串

        var a;//变量

        a.tostring();

String()强制转换:

        (console.logString(a));

  • 加号拼接字符串

        console.log(a+' ');

  • 转化为数字型

parseInt(string) parselnt('78')

                最后得到的是整数(不进位)

               parseInt(120px);        得到120去掉单位但不能去掉加在前面的字母;

parseFloat(变量)

                不同的是能转换化为小数

Number()强制转化

利用隐式转化,运用算术运算

        console.log('12'-0);

4.作用域

全局作用域:

        变量在script标签里声明,全局都可以使用。

        在函数内部没有声明,直接赋值的变量也是全局变量。(不建议使用)

(关闭游览器才会销毁,比较占据内存)

局部作用域;

        在函数内部,只能在函数内部起作用。

        函数的形参也算是局部变量。

(程序执行完毕就会销毁,比较节约内存资源)

作用域链(在我看来甚至不需要了解):

函数里面还有函数,那么这个作用域里面就又可以诞生一个作用域

根据在 内部函数 可以访问 外部函数变量的这种机制,用链式查找决定哪些数据能被内部函数访问,就称作用域链。                  就近原则

5、其它

简单数据类型 (值类型)存储变量存(在栈中)的是值本身

        string、number、boolean、underfined、null

     (有点特殊返回的是一空的对象object,如果打算存储对象,暂时没想好放什么,这个时候就给null)

        进行传参的时候,形参   不改变  实参  的值(都在栈中进行)

复杂数据类型     在储存时变量(栈)中储存的仅仅时地址,值储存在堆里

        引用类型:通过new关键字创建的对象(系统对象、自定义对象),Object、Array、Date

        传参的时候,栈中放地址,传参  传的地址(把地址给了形参)  都指向同一个堆中的值,函数中改变了值的话, 形参和实参的地址都指向那个改变了的值

堆和栈

(1)栈(操作系统):由操作系统自动分配释放存放函数的参数值、局部变量的值等。                其操作方法类似与数据结构中的栈;

简单的数据类型存放到栈里面

(2)堆(操作系统):储存复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制释放

复杂数据类型存放在堆里面

祝你学习快乐!

你可能感兴趣的:(javascript)