Конечно, «пространство имен» в JavaScript - это просто глобальный объект, в котором хранится коллекция связанных функций и фрагментов данных (вместо множества глобалов, по одному для каждой функции и части данные).
Единственная причина, по которой ваш пример не сработает, это то, что NS.B
не определен, когда вы пытаетесь присвоить ему свойство C
.