博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
灵活的Javascript
阅读量:5299 次
发布时间:2019-06-14

本文共 2368 字,大约阅读时间需要 7 分钟。

  高手请一笑视之......, 新手可以重新认识一下js.

Javascript类型转换

数据类型/目标类型 Boolean (  ) Number () String ( )
Boolean   0,1 "false" "true"
Number ( 等于0的值 or 非数字 ) —> false   等于自身加引号,如:(123 -> "123")
String "" —> false

Number() 整体转化,无法转化则为:NaN

parseInt() 从左边数字截取,如:(123aaa -> 123)

parseFloat() 从左边数字截取识别点,如:(123.4aaa -> 123.4)

 
Array 空数组为0 其他:NaN 顺序输出数组元素,如:(1,2,3)
Object NaN "[object Object]"
Null false 0 "null"
Undefined false NaN "undefined"
var obj= new Object();        obj.a = "aaa";        obj.b = "bbb";    console.log(obj.a,obj);  // aaa,Object { a="aaa", b="bbb"}

  实例化一个对象,添加属性并赋值,大家都用过,没什么可说的。

var fun = function(){        this.a = "aaa";        this.b = "bbb";    };    console.log(fun.a,fun);  // undefined,function()        var funExample = new fun();    console.log(funExample.a,funExample); // aaa Object { a="aaa", b="bbb"}

  首先定义了一个构造函数;看输出 构造函数未实例化之前属性不可用,fun是一个函数类型。

  实例化后属性 a = "aaa" ,funExample是一个Object类型,没错,js就是这么光棍,拿个函数实例化一下,就是一个对象了(其实function本质上就是一个object,array也一样.)

  如下:

var assignArr = ['a','b','c'];   // 字面量声明数组    assignArr[3] = 'd'              // 向数组中添加一个元素         assignArr['e'] = 'e';             // 关联数组就是这样诞生的     assignArr.f = "fff";           //亮了吧    console.log(assignArr,assignArr[5],assignArr['f']);

   声明一个数组,添加元素, 再次添加元素,注意:Javascript没有关联数组 只是我们可以通过这种方法实现关联数组的功能。 assignArr.f = "fff" 等于给 assignArr 对象添加属性并赋值。 输出结果 assignArr是一个数组,assignArr[5] undefind ,assignArr['f'] 是"fff" 。

  再来看一个

var fun = function(){};        fun.a = "aaa";        fun.b = "bbb";

  这是个什么玩意? 来看一下结果

console.log(fun.a,fun); // aaa function()

  fun.a 是一个属性 (在此,当我们把它当做一个对象来用的时候它就是一个对象), fun是一个函数(你把我当对象啊?我不是哩)。  ——不要过多纠结,已经提到过function本质上就是object,可以按照对象的方式来使用,在javascript面向对象程序设计中理解这一点非常重要。

  上面的用法很少见吧,我之前没见过呢,但jQuery中就这样用了,用的很抽象.

jQuery = function( selector, context ) {    return new jQuery.fn.init( selector, context, rootjQuery );}jQuery.fn = jQuery.prototype = {    constructor: jQuery,    init: function( selector, context, rootjQuery ) {            ......    }}

   怎么样? 有没有被抽了一下的感觉,如果你是搞其他语言开发的,看到这样的用法有木有 亮瞎了,看伤你。。。

   讲不讲道理,有木有规范,想当年一个简单的 C 语言加减乘除,少个逗号、缺个分号、中英文标点不分,对着书本一个符号一个符号输入,末了出错,删掉重来。。。把人坑的分外忧伤... 格式,规范? 那种数据类型能做什么,该怎样用? 那种编程技巧很不错,值得借鉴。

  如今 Javascript、PHP、C# 多少都懂点。重新来过,才发现我们习惯在不知不觉中把自己的思维囚禁。

  在认知的世界,啃着前辈们的经验,享受着拿来主义的便捷,其本质使自己停滞不前。

  编程语言,究其本质只是一种工具,在具有的规则内,我们可以尽情尝试,探索,追求进步。

  记此日志,与诸君共勉。

  

转载于:https://www.cnblogs.com/v10258/archive/2013/05/11/3072610.html

你可能感兴趣的文章
解决升级系统导致的 curl: (48) An unknown option was passed in to libcurl
查看>>
Java Session 介绍;
查看>>
spoj TBATTLE 质因数分解+二分
查看>>
Django 模型层
查看>>
dedecms讲解-arc.listview.class.php分析,列表页展示
查看>>
Extjs6 经典版 combo下拉框数据的使用及动态传参
查看>>
【NodeJS】http-server.cmd
查看>>
研磨JavaScript系列(五):奇妙的对象
查看>>
面试题2
查看>>
selenium+java iframe定位
查看>>
P2P综述
查看>>
第五章 如何使用Burp Target
查看>>
Sprint阶段测试评分总结
查看>>
sqlite3经常使用命令&语法
查看>>
linux下编译openjdk8
查看>>
【python】--迭代器生成器装饰器
查看>>
Pow(x, n)
查看>>
安卓当中的线程和每秒刷一次
查看>>
每日一库:Modernizr.js,es5-shim.js,es5-safe.js
查看>>
ajax连接服务器框架
查看>>